java基础-11 this和static
this
实例对象方面
this保存在堆中,this保存了这个对象的内存地址,this代表了该对象
this不能出现在静态方法(static)中
this在构造方法中
this()指 调用其他构造方法,调用哪个构造方法,根据参数而定,只能在第一行,目的是代码复用。
class Date{ // 以后写代码都要封装,属性私有化,对外提供setter and getter
//年
private int year;
//月
private int month;
//日
private int day;
// 构造方法无参
// 调用无参数构造方法,初始化的日期是固定值。
public Date(){
this(1970, 1, 1);
}
// 构造方法有参数
public Date(int year, int month, int day){
this.year = year;
this.month = month;
this.day = day;
}
static
类方面
用static修饰的变量,方法,用 类名+变量 或 **类名+方法名()**访问
在类体中声明的变量分为实例变量和静态变量,实例变量在创建对象是初始化,静态变量在类加载时初始化,储存在方法区。
静态变量,方法
当对象的变量不随对象的改变而改变使用静态变量,静态方法同理。
static String country = "中国";
public static void doSome(){
System.out.println("静态方法doSome()执行了!");
}
静态代码块
static{
代码块
}
类加载时执行,且只执行一次。
static {
System.out.println("A");
}