1.Static:静态
1.1static修饰成员变量
成语变量按照有无Static可分为两类:1.类变量 2.实例变量(对象的变量)
有Static修饰的成员变量(类变量)访问方法:1.类名.类变量(推荐) 2.对象名.类变量(不推荐)
属于类,与类一起加载一次,在内存中只有一份,会被类的所有对象共享。
无Static修饰的成员变量(实例变量)访问方法:对象.实例变量
属于对象,每个对象中都有一份。
1.2static修饰成员变量的应用场景
1、什么场景下需要定义类变量某个数据只需要一份,且希望能够被多个对象共享
2、访问自己类中的类变量,是否可以省略类名不写?可以的
注意:在某个类中访问其他类里的类变量,必须带类名访问
1.3static修饰成员方法
用途:类方法最常见的应用场景是做工具类。
相比于实例方法,类方法可以直接用类名调用,比较方便,而且不用创建对象,节省内存。
tips:工具类没有创建对象的需求,建议将工具类的构造器进行私有
1.4static的注意事项
类方法中可以直接访问类的成员,不可以直接访问实例成员。
实例方法中既可以直接访问类成员,也可以直接访问实例成员。
实例方法中可以出现this关键字,类方法中不可以出现this关键字的。
*1.5static的应用知识:代码块
(实例代码块会在对象创建的时候执行,执行顺序优先于构造函数)
2.面向对象特征之:继承
子类能继承并使用父类的非私有成员(成员变量、成员方法)。
继承的好处:减少重复代码的编写
Object类是java所有类的祖宗类。我们写的任何一个类,其实都是Object的子类或子孙类。
2.1方法重写
常用作:toString的重写:
2.2super.的用法
2.3子类构造器的特点
this(...)和super(...)