常用的关键字:
一、访问限定符:是用来对类、属性、方法、构造方法进行修饰的
访问限定符的范围
1. public 在同一个程序中的任何地方都可以访问
2.protected 在同一个类中和同一个包中以及不同包中的子类中可以访问
3.默认不写 在同一个类中和同一个包中被访问
4.private 只能在同一个类中被访问
二、this和super
this的用法:
this.属性 this.方法(); 用来表示当前对象
this(参数列表); 用在构造方法符第一行,表示当前类的某一个构造方法 具体用在哪一个构造方法取决于参数列表
super的用法:
super.属性 super.方法(); 用来在子类中表示父类对象,调用父类的方法
super(参数列表); 用在子类的构造方法中,用来调用父类的某一个构造方法
具体的哪一个构造方法取决于参数列表
This和super的使用代码
public class Student { public String name; public Student(){ // this用在构造方法的第一行 // 表示当前类的某一个构造方法 this("张三"); } public Student(String name){ this.name = name; } public void study(){ System.out.println(name+"在休息"); }
Java代码
public class UNStudent extends Student{ public UNStudent(){ //默认调用父类的无参构造方法 super(); System.out.println("UNStudent"); } public void study(){ System.out.println(name+"在学习"); } }
主类代码
public class Main { public static void main(String[] args) { //创建Student类的对象 Student s = new Student(); //调用Student中的方法 s.study(); //创建UNStudent的对象 UNStudent u = new UNStudent(); //调用UNStudent中的方法 u.study(); }
三、final
final的用法:用来修饰类、变量、方法
final修饰类: 表示这个类不能被继承
final修饰方法:表示这个方法不能被重写[覆盖]
final修饰变量:表示这个变量不能被修改,且只能赋值一次
四、static
static的用法:可以用来修饰类、属性、方法、代码块
static的属性和方法是不需要创建对象来调用的
static属性和成员属性的区别:
static属性[类属性]:
该类的所有的对象共享的一个属性,只会占用一块内存空间
成员属性 :
每一个对象都单独占用一块内存空间,必须通过对象才能调用
static方法和成员方法的区别:
static方法[类方法]:
类方法中不能再调用this和super表示对象
类方法是调用父类的还是子类重写的只和类名有关
成员方法:
成员方法是调用父类的还是子类重写的只和对象本身有关
Java代码
public class A { public A() { System.out.println("A"); } }
Java代码
public class B { public B() { System.out.println("B"); } }
Static的使用代码
public class Test { //成员属性 public A a = new A(); //类属性 public static B b = new B(); //成员方法 public void change() { System.out.println("change"); } //类方法 public static void execute() { System.out.println("execute"); } }
Java代码
public class Demo { public static void main(String[] args) { //调用静态方法 Test.execute(); //调用成员方法需要对象 Test t = new Test(); t.change(); } }