Java中的关键字解析

Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。(From百度)

1. this关键字

创建一个对象分为如下四个步骤:

1.分配对象空间,并将对象成员变量初始化为0或空

2.执行属性值的显式初始化

3.执行构造方法

4.返回对象的地址给相关的变量

this的本质“创建好的对象的地址”

this最常的用法

  • 在程序中产生二义性之处,应使用this来指明当前对象;普通方法中,this总是指向调用该方法的对象,构造方法中,this总是指向正要初始化的对象。

  • 使用this关键字调用重载的构造方法,避免相同的初始化代码,但只能在构造方法中用,并且必须位于构造方法的第一句。

  • this不能用于static方法中,必须从属于对象

public class User {
	int id;
	String name;
	String pwd; //密码
	public User() {
		
	}
	public User(int id,String name) {
		this.id = id;
		this.name = name;
	}
	public User(int id,String name,String pwd) {
		this(id,name);
		this.pwd = pwd;
	}
	public static void main(String[] args) {
		User u1 = new User();
		User u2 = new User(101,"fei");
		User u3 = new User(102,"fei","123456");
	}
	
}

2. static关键字

用static声明的变量为静态成员变量,有如下特点:

  • 为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。

  • 对于该类的所有对象来说,static成员变量只有一份,被该类的所有对象共享。

  • 一般用"类名.类属性/方法"来调用。

  • 在static方法中不可直接访问非static的成员。

3. final关键字

final关键字的作用

  • 修饰变量:被修饰的变量不可改变,一旦赋了初值就不能被重新赋值 如final int MAX_SPEED = 120;

  • 修饰方法:该方法不可被子类重写,但是可以重载 如final void study()

  • 修饰类:修饰的类不能被继承(扩展) 如Math,String等 如 final class A{}

4. super关键字

super可以看作是直接父类对象的引用,可以通过super来访问父类中被子类覆盖的方法或属性

使用super调用普通方法,语句没有位置限制,可以在子类中随便调用

public class Testsuper {
	public static void main(String[] args) {
		new ChildClass().f();
	}

}
class FatherClass{
	public int value;
	public void f() {
		value = 100;
		System.out.println("Fatherclass.value"+value);
	}
}
class ChildClass extends FatherClass{
	public int value;
	public void f() {
		super.f();  //调用父类的普通方法
		System.out.println("ChildClass.value"+value);
		System.out.println(value);
		System.out.println(super.value); //调用父类成员变量
	}
}

Guess you like

Origin blog.csdn.net/lipengfei0427/article/details/121386942