类和对象
内存解析:
属性与局部变量的对比:
内存解析的说明:
引用类型的变量,只能存储两类值:null或者地址值(含变量的类型)
匿名对象的使用:
创建的没有显示的赋给一个对象名的对象为匿名对象
特征:匿名对象只能调用一次
使用:方法中调用一个匿名对象
可变个数形参
jdk5.0新增内容 格式:(数据类型...变量命名)...对0-多个都可以 但是可变个数形参方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。
可变个数形参在方法的形参中,必须申明在末尾 void show(int i,String ... str)
在方法声明中最多只能声明一个形参
变量的赋值:
如果变量是基本数据类型,此时赋值的是变量所保存的数据值
如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值
值传递机制:
如果参数是基本数据类型,此时实参赋值给形参的是实参真实存储的数据值
如果参数是引用数据类型,此时实参赋值给形参的是实参存储数据的地址值
上面的涉及到多态的知识。
修饰类class只能有缺省或者public
this参数可以用在构造器中!
我们在类的构造器中,可以显示的使用”this(形参列表)“方式来调动指定的类的其他构造器
构造器中不能通过this(形参列表)方式调用自己
如果一个类中有n个构造器,则最多有哦n-1个构造器中使用了this(形参列表)
this(形参列表)必须声明在当前构造器的首行
构造器内部,最多只能声明一个this(形参列表)用来调用其他构造器
this(形参列表)
封装:
继承
一旦子类继承父类以后,子类中就获得了弗雷中声明的所有属性和方法,父类中声明为private的属性和方法,子类继承父类以后
仍然认为获取了父类中的私有结构,知识因为封装性的影响,使得子类不能直接嗲用父类的结构而已。
方法重写细节:
子类和父类中的同名同参数的方法要么都声明为非static的(考虑重写),要么都声明为static的(这个时候就不叫重写了)
四种访问权限修饰符:
修饰类class只能有缺省或者public
default类只可以被同一个包内部的类访问
super
子类对象实例化的过程:
多态:
多态是运行时行为 多态不能调用子类特有的方法
重载时静态绑定 多态时动态绑定
==和equals
包装类:
static关键字:
非静态属性需要创建对象实例来调用,静态实例可以直接用类来调用。
main():
静态方法只能调用静态方法
代码块:
静态代码块执行优先于非静态代码块的执行
静态代码块内只能调用静态的属性和静态方法,不能调用非静态的结构
非静态代码块可以调用非静态的或者静态的属性和方法。
final: