您的位置:首页 > 编程语言 > Java开发

Java关键字:this、super、static

2014-12-11 15:03 330 查看

This

this只能在方法内部使用,表示对调用方法或者属性的那个对象的引用。

public
class
MyClass {
private String
name;

public MyClass() {}

public MyClass(String name) {
this();
// 必须在这个构造器顶部,并且一个构造器只能使用一次this
this.name = name;
}

public
void
fun1() {
String s = this.name;
this.fun2();
}

public
void
fun2() {}
}

Static

static是静态数据,静态数据不能调用非静态数据,反过来可以。

static可以修改变量、代码块、方法、类(只能是内部匿名类)。

public
class
MyClass {

private
static
String name;
public
static void
fun() {}

public
static void
main(String[] args) {
System.out.println(MyClass.name);
MyClass.fun();
}
}

静态数据是在class被loader的时候初始化的;类的属性的初始化是在构造器调用之前被初始化的,所以下面的代码,i的值先是0,然后构造方法把他修改为7.

public
class
MyClass {
private
int
i;
public MyClass() {
i = 7;
}
}

Super

super和this一样,可以引用构造器、属性和方法,但是都是父类的:

public
class
MyClass extends A {
public MyClass() {
super();
// 构造器,必须顶部、一个
}

void fun() {
System.out.println(super.i);
// 属性
super.funA();
// 方法
}
}

class A {
int
i;
public A(){}
void funA() {}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: