一.高级类特性
static:修饰属性、方法、块、内部类
final:修饰类、常量属性、方法、局部常量
abstract:修饰类、方法
synchronized:修饰方法、同步代码块
二.static的使用
1.定义:static被称为静态,可以用来修饰类的属性或者方法。
2.作用:当static修饰类,方法,变量是,第一时间在内存中开辟一个空间,以后使用不管是调用还是修改,都是在该地址内。
3.静态方法:使用static修饰的方法。例如 public static void font(){ “静态方法 ” };
(1)作用:表示该方法跟对象无关,是个类的方法。
(2)静态方法的调用:static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用
例:
public class dfd { private static int tak=11; public static void tak(){ int i; for(i=1;i<10;i++){ tak=tak-1; System.out.println(tak); } System.out.println(tak); } }
public class ip{ public static void main (String [] args){ dfd.tak(); //静态方法的调用可以用类名直接调用 } }
4..静态块
(1)定义:直接在代码块前,加上关键字static即成为静态块。例如
static{
System.out.print(“静态块”);
}
(2)静态块总是在类执行的时候执行,且只能执行一次,但一个类中可以有多个静态块,按照顺序执行。
三.final修饰符
(1)修饰范围:属性(成员变量) 局部变量 类 方法
(2)作用:修饰变量表示值不能被修改,修饰类表示不能被继承,修饰方法表示不能被子类覆盖。
四.this关键词
this关键字代表自身。
作用: 1) this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性;
2)可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数。
3)在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,只是所有这样的引用中this都可以省略。
public class ThisDemo { String name; int age; public ThisDemo (){ this.age=21; } public ThisDemo(String name,int age){ this(); this.name="Mick"; } private void print(){ System.out.println("最终名字="+this.name); System.out.println("最终的年龄="+this.age); } public static void main(String[] args) { ThisDemo tt=new ThisDemo("",0); //随便传进去的参数 tt.print(); } }
注意:this关键字必须放在非静态方法里面
五.继承
定义:指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的数据属性和行为,并能扩展新的能力。
形式:【访问权限修饰符】【修饰符】子类名 extends 父类名{子类体} //【】中的内容可以省略
作用:代码的复用,子类对象可以直接调用父类的属性和方法。
六.super关键字
super关键字代表父类的引用。
作用:
(1) 当子类方法体中的局部变量或者子类的成员变量与父类成员变量同名时,即子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父类成员变量
(2)当子类的成员方法覆盖了父类的成员方法时,也就是子类和父类有完全相同的方法定义(方法体可以不同),此时,用“super.方法名(参数列表)”的方式访问父类的方法。
注意(1)与this的区别,this通常指代当前对象,super通常指代父类。
(2)在子类构造方法中要调用父类的构造方法,需要注意:super语句只能出现在子类构造方法体的第一行。