this与static关键字

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.定义在主类中的静态块
主类中的静态块优先于主方法执行

完成类中静态属性的初始化以及静态方法的调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值