-
方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法内部可见,即只在该方法内部可用。
查看全部 -
静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 ;
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员:HelloWorld.score
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类(): SInner si = new SInner();
查看全部 -
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
访问外部类中的name:HelloWorld.this.name
查看全部 -
内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类;
内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类;
内部类的方法可以直接访问外部类的所有数据,包括私有的数据;
内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便;
成员内部类,静态内部类,方法内部类,匿名内部类。
查看全部 -
1.接口用interface代替class,接口不能使用private和protected(因为接口类相当于是给别人用的所以也不会是protected),接口可以多继承,接口后是中括号.接口中的属性是常量,实现接口用implements关键字
2.可以继承父类实现接口:[修饰符] class 类名 extends 父类 implements 接口1,接口2{}
3.匿名内部类实现接口,第一种new接口出对象{抽象方法实现},第二种new接口{抽象方法实现}.fangfa();
4.接口中只有常量和抽象方法,常量不添加public static final系统也会自动加上,方法会自动加上public abstract
查看全部 -
?继承:extends关键字标识;super关键字调用父类;
Object类是所有类的父类;但Object类中的getClass(),notify(),notifyAll(),wait()等方法不能被重写,因为被定义为final类型;
当向下转型时,使用instanceof操作符判断父类对象是否是子类对象的实例,使用方法:if(父类对象 instanceof 某个类);
查看全部 -
内部类对象创建:
内部类 对象名 = 外部类对象.new 内部类( );
查看全部 -
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
查看全部 -
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量;
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量;
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法.
查看全部 -
静态方法可以调用同类中的静态成员,但不能调用非静态成员(非静态成员可以通过对象访问)
普通方法,可以直接访问类的非静态变量 和静态变量
查看全部 -
成员变量&局部变量
查看全部 -
1-6 构造方法(初始化对象)
1-10 静态初始化块
2-4 自动生成get set方法
3-5 final使用
继承是多态使用的基础
4-5
查看全部 -
?定义了成员内部类后,必须使用外部类对象来创建内部类对象,不能直接new一个内部类对象。
内部类 对象名 =外部类对象.new 内部类();(静态内部类不需要外部类对象.)
?内部类可以直接访问外部类的数据,不受访问控制符的影响。但静态内部类不能访问外部类的非静态成员,可以通过对象名.成员访问。
?如果内部类和外部类有相同的成员变量或者方法,会默认访问内部类的。想要访问外部类的可以使用this关键字。如:Outer.this.name;
?方法内部类不能在方法外部类之外的地方使用,所以方法内部类不能使用访问控制符和static修饰符。
查看全部 -
?== 与equals的区别:
String c1=new String("abc");
String c2=new String("abc");
String c3=c1;
(c2==c3是false;c2.equals(c3)是true;因为==是判断地址是否相等,而equals是判断内容是否相等);
查看全部 -
可以用instanceof关键字避免安全性问题:
查看全部
举报