文章目录
1.this
I.this表示本类属性
以后在类中调用本类属性时请加上this关键字
II.this表示本类方法
a.this调用构造方法
I.this(构造方法参数)表示调用类中构造方法
II.this调用构造方法必须放在构造方法首行
III.this调用构造方法不能成"环"
b.this调用普通方法
this.方法名(方法参数)表示调用本类中方法
III.this表示当前对象
当前是哪个对象调用的普通方法、普通属性,this就表示它。
==Public Class Student {
String name; //定义一个成员变量name
private void SetName(String name) { //定义一个参数(局部变量)name
this.name=name; //将局部变量的值传递给成员变量
}
}==
2.static关键字-与类的实例化对象无关
I.static属性-静态属性(类属性)
static属性描述共享属性,通过类名称直接调用,该类的所有对象共享此属性。
java中static不能定义临时变量
II.static方法-类方法-静态方法
使用static定义的方法为类方法,与对象无关,直接通过类名称调用.
描述工具方法时,一般使用静态方法。
java.util.Arrays.sort()-排序
静态方法不能调用类中普通属性
普通方法能调用类中静态属性
class Person{
private static String country;
private String name;
private int age;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public static void setCountry(String c){
country = c ;
}
public void getPersonInfo(){
System.out.println(“姓名:”+this.name+",年龄:"+this.age+",国家:"+this.country);
}
}
public class Test{
public static void main(String[] args) { Person.setCountry(“中国”);
Person person = new Person(“张三”,20); person.getPersonInfo();
}
}
3.代码块
定义:使用{}定义的一段代码
根据代码块定义的位置以及关键字,分为以下四种代码块
3.1普通代码块
定义在方法中的代码块
解决方法中需要重复定义同名变量的场景(了解)
3.2构造块
定义在类中的代码块(不加任何修饰符)
构造块优先于构造方法执行,每当有对象产生就执行一次构造块
完成类中普通属性初始化操作
3.3静态代码块
使用static修饰并且定义在类中的代码块
I.定义在非主类中的静态块
优先于构造块执行,并且无论有多少实例化对象产生,
静态块只在类加载时执行一次。
II.定义在主类中的静态块
主类中的静态块优先于主方法执行
完成类中静态属性的初始化以及静态方法的调用