快捷搜索:  汽车  科技

java中this关键字代表什么(java关键字总结之this)

java中this关键字代表什么(java关键字总结之this)public class People { public static void say_hello() { // TODO 自动生成的方法存根 System.out.println("无参构造方法。。。"); } } public class Test { public static void main(String[] args) { // TODO 自动生成的方法存根 People.say_hello(); } } 3. 静态代码块 static{ 中间放代码 ; //只会被执行一次 } 用{ }包围起来的是一个代码块,用static关键词修饰的代码块叫做静态代码块。静态代码块只会被执行一次。常用作初始化工作。方法前加上static关键字后,静态方法可以直接用 类名.方法 名来调用。 public class people {

关键字总结this

this 关键字常见有三种用法

1. 访问一个类的成员变量

通过this关键字明确地去访问一个类的成员变量,解决与局部变量冲突的问题

class people { int age;//这里的age是成员变量 public people(int age){ //这个形参是局部变量 this.age = age; //this.age调用的是成员变量 } public int get_age(){ return this.age; } }

上述代码有两个age变量,一个是people的成员变量,一个是构造方法的局部变量,this.age使用的就是成员变量,单单一个age就是指局部变量。

2. 在一个构造方法中调用其他构造方法。

因为构造方法是在实例化对象时,被java虚拟机自动调用的,所以构造方法没法像其他方法一样自由地调用,那么this关键字就可以用来在一个构造方法中调用其他构造方法。

public class people { public people() { this(5); System.out.println("无参构造方法。。。"); } public people(int age) { System.out.println("有参构造方法"); } 3.this关键字可以调用成员方法。

public class people { public void openMouth() { System.out.println("张开嘴了"); } public void speak() { this.openMouth(); System.out.println("开始说话了"); } }

上述代码的this关键字调用了openMouth()方法,这个用法和不适用关键字直接调用openMouth()方法一样,有点鸡肋。。。。

static1. 静态变量

可以用static来修饰成员变量,(不能用来修饰局部变量)。
内存:被static修饰的成员变量在内存中只会有一份。
使用方法:可以用类名.静态成员变量名,也可以使用实例化对象名.静态成员变量名
作用范围:所有的实例对象共享这一个静态变量。

public class People { static String country = "China"; } public class Test { public static void main(String[] args) { // TODO 自动生成的方法存根 People beijingPeople = new People(); //两种方式均可以访问到静态成员变量 System.out.println("我的国籍是" beijingPeople.country); System.out.println("我的国籍是" People.country); } }

结果

java中this关键字代表什么(java关键字总结之this)(1)

2. 静态方法

方法前加上static关键字后,静态方法可以直接用 类名.方法 名来调用。

public class People { public static void say_hello() { // TODO 自动生成的方法存根 System.out.println("无参构造方法。。。"); } } public class Test { public static void main(String[] args) { // TODO 自动生成的方法存根 People.say_hello(); } } 3. 静态代码块

static{ 中间放代码 ; //只会被执行一次 }

用{ }包围起来的是一个代码块,用static关键词修饰的代码块叫做静态代码块。静态代码块只会被执行一次。常用作初始化工作。

4. 单例模式

这是一种设计模式,指的是在设计一个类时,需要保证在整个程序运行期间针对该类只存在一个实例对象。

public class People { private static People INSTANCE = new People(); private People() { } //私有化的构造方法 public static People getInstance() { //提供返回实例化对象的静态方法。 return INSTANCE; } }

上述代码实现了单例模式具有以下特点
1. 类的构造方法用private修饰,声明为私有,这样就不能在类的外部使用new 来创建实例对象了。
2. 在类的内部创建该类的实例对象,并且用INSTANCE 引用该对象,INSTANCE需要用private修饰。
3. 定义一个静态方法getInstance(),用于方法实例对象INSTANCE。

猜您喜欢: