一天不学java,浑身难受!
this
- this关键字 :代表当前对象
- this在构造器的首行调用其他构造器(本类中的其他构造器)
- this使用在构造器中,指代当前创建的对象
- this使用在成员方法中,this指代当前调用成员方法的对象
注意
- 调用构造器的时候this必须存在第一行才行
- 构造器之间不能相互调用
- this不能使用在static修饰的内容中
public class ThisDemo {
public static void main(String[] args) {
}
}
class Person{
public String name;
public int age;
public boolean gender; //true->女 false->男
public Person() {
}
public Person(String name) {
this.name=name;
}
//给人的姓名,年龄赋值
public Person(String name,int age) {
this.name=name;
this.age=age;
System.out.println(“2个参数的构造器”);
}
public Person(String name,int age,boolean gender) {
//上一个构造器就是给name,age赋值的
//选中当前行上下移动->alt+方向上下键
//调用其他构造器,本类 如果实参位置是变量,传递的就是变量的值
this(name,age);
this.gender=gender;
System.out.println(“三个参数的构造器”);
}
static
static关键字 静态的 成员修饰符
类变量|静态变量: static修饰变量,只能修饰成员变量,不能修饰局部变量
* 类 方法|静态方法: static修饰的方法
* 静态的内容的使用方式:
- 类名.方法名([参数列表]);
- 类名.属性名;
- 对象.方法名字([参数列表]);
- 对象.属性名;
注意事项
* 被static修饰的静态的内容是属于类的,可以通过类使用的,可以通过对象去使用
* 成员的内容是属于对象的,成员变量,成员方法只能通过对象调用
* 静态的内容中只能直接使用静态的内容,成员内容需要通过对象使用
* 非静态的内容中,可以直接使用静态的,可以直接使用非静态的内容
* 只在类第一次加载的时候初始化一次,静态的内容是独一份的,所有的对象共享一个类中的静态内容
block(块):{}->作用域
* {}定义在方法中->局部代码块|普通语句块 执行时机:调用方法
* {}定义在类中方法外->构造块 执行时机:new
* static{}定义在类中方法外->静态块 执行时机:在类第一次加载以后执行一次
* 构造块先于构造器的代码执行,如果存在多个构造块,从上到下以此执行
* 静态块先于主方法执行,如果存在多个静态块,从上到下依次执行
执行顺序为:
* static->main->构造块->构造器 注意:执行顺序与写出的代码顺序无关!!!
相关文章