this关键字
this的作用:
– this表示的是当前对象本身,
– 更准确地说,this代表当前对象的一个引用。
普通方法中使用this。
– 区分类成员属性和方法的形参.
– 调用当前对象的其他方法(可以省略)
– 位置:任意
▪ 构造方法中使用
构造方法中使用this。
– 使用this来调用其它构造方法
– 位置:必须是第一条语句
▪ this不能用于static方法。
this 测试代码
public class TestThis {
int a,b,c;
TestThis(){
System.out.println("正要new一个Hello对象");
}
TestThis(int a,int b){
//Hello(); // //这样是无法调用构造方法的!
this(); //调用无参的构造方法,并且必须位于第一行!
a = a;//这里都是指的局部变量而不是成员变量
this.a = a;//这样就区分了成员变量和局部变量. 这种情况占了this使用情况的大多数!
this.b = b;
}
TestThis(int a,int b,int c){
this(a,b);
this.c = c;
//调用无参的构造方法,并且必须位于第一行!
}
void sing(){}
void chifan(){
this.sing(); //sing();
System.out.println("你妈妈喊你回家吃饭!");
}
public static void main(String[] args){
TestThis hi = new TestThis(2,3);
hi.chifan();
}
}
static 关键字
在类中,用static声明的成员变
在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.
它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化,
对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!
可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”
static变量置于方法区中!
用static声明的方法为静态方法
不需要对象,就可以调用(类名.方法名)
在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
静态方法不能以任何方式引用this和super关键字
▪ 使用static声明的成员变量称为静态变量,
▪ 使用static声明的方法称为静态方法
▪ 静态变量不静态方法又称为类变量和类方法
static关键字
▪ 静态属性的访问形式
– (1)对象名.属性
– (2)类名.属性
▪ 静态方法
– 访问修饰符 static 返回值类型 方法名(){}
▪ 访问形式
– (1)对象名.方法名();
– (2)类名.方法名();
面向对象的三大特征
▪继承 inheritance
–子类 父类
–子类可以从父类继承属性和方法
–子类可以提供自己单独的属性和方法
▪封装/隐藏encapsulation
–对外隐藏某些属性和方法
–对外公开某些属性和方法
▪多态 polymorphism
–为了适应需求的多种变化,使代码变得更加通用!
▪面向过程只有封装性(功能的封装,而没有数据的封装),没有继承和多态