类:
类--实例化对象--栈内存和堆内存(栈内存保存对象中的属性)
封装:
类中的所有属性都要进行封装,对于私有属性(private)要使用setter和getter方法设置和访问。
构造方法:
1.构造方法名称必须与类名一致。
2.构造方法不能有任何返回值类型的申明。
3.不能在构造方法中使用return返回一个值。
4.一旦有实例化对象产生,则一定会调用其中的构造方法
重载:
方法的参数类型或参数个数不同。
匿名对象:
new Person(“张”,10).tell();
只开辟空间,没有任何栈内存引用,使用一次后等待被垃圾收集机制回收.
String:
两种实例化方式:1.直接赋值 2.使用new调用构造方法
字符串中的内容不可改变,性能低
字符串(String对象)的内容一旦声明,不可改变,改变的只是内存地址的指向
字符串(属性)的内容可以改变
this:
1.调用属性this.name=name;
2.调用方法this();一个类中有多个构造方法,用this相互调用,调用放在构造方法首行。
留一个构造方法作为出口。
static:
static声明的属性对所有对象共享
static声明的方法,可以使用类名称直接调用
非static方法可以调用static声明的属性或方法,反之不可以
代码块:
普通代码块
构造块
静态代码块:类中定义的静态代码块优先于构造块和主方法
同步代码块
内部类:
外部访问内部:外部类 内部类.内部类对象=外部类实例.new 内部类();
方法中定义的内部类不能直接访问方法中的参数,要在参数前加final关键字