【java日记】第九天:权限修饰符&匿名内部类

10.1package的概述及作用
包其实就是文件架

10.2包的定义及注意事项

Package 语句必须是程序的第一条可执行代码。

Package语句在一个java文件中只能有一个

如果没有package默认标识无包名

10.4不同包下类之间的访问。

10.5 import关键字的概述和使用

10.6 四种权限修饰符

Priavat

默认

Protected

Public

10.7

10.8内部类概述和访问特点

内部类可以直接访问外部类的成员,包括私有

外部类要访问内部类的成员,必须创建对象

外部类名.内部类名 对象名=外部对象.内部对象;

Outer.inner a=new outer().new inner();

10.9

package java1;

public class SHI {

public static void main(String[]args) {

abc a=new abc();

a.method();

}

}

class abc{

public void fangfa() {

}

private class c{

public void print() {

System.out.println(“内部类私有类的访问”);

}

}

public void method() {

c c=new c();

c.print();

}

}

10.10 静态成员内部类

package java1;

public class shi_10 {

public static void main() {

shi_n.u a=new shi_n.u();

a.fng();

}

}

class shi_n{

static class u{

public void fng() {

System.out.println(“类-静态类-方法”);

}

}

}

10.11成员内部类的面试题

10.12局部内部类访问局部变量的问题

package java1;

public class shi_10 {

public static void main(String[]args) {

shi_n.u a=new shi_n.u();

a.fng();

}

}

class shi_n{

int num=10;

static class u{

int num=20;

public void fng() {

class c{

int num=30;

public void show() {

System.out.println(new shi_n().num);

System.out.println(new shi_n.u().num);

System.out.println(num);

}

}

c abc=new c();

abc.show();

}

public void show() {

System.out.println(this.num);

}

}

}

10.3匿名内部类

就是内部类的简化写法

前提:存在一个类或者接口。这个类可以使具体的类,也可以使抽象类

package java1;

public class shi_13 {

public static void main(String[]args) {

new outer().method();

}

}

interface niming{

public abstract void show();

}

class outer {

class inner implements niming{

public void show() {

System.out.println(“匿名内部类”);

}

}

public void method() {

inner abc=new inner();

abc.show();

new inner() {}.show();

}

}

10.14匿名内部类重写多个方法调用

package javahome;

public class shi_14 {

public static void main(String[]args) {

new b().show();

}

}

interface a{

public abstract void show();

}

class b implements a{

public void show() {

System.out.println(“匿名内部类”);

//new b().show();

}

public void see() {

new b().show();

}

}

10.15 匿名内部类在开发中的应用

package javahome;

public class shi_166 {

public static void main(String[]args) {

ccc.method().show();

}

}

interface abbc{

void show();

}

class ccc{

public static abbc method(){

return new abbc() {

public void show() {

System.out.println(“返回子类对象”);

}

};

}

}

10.17面向对象复习1

猜你喜欢

转载自blog.csdn.net/weixin_42909272/article/details/81539676