Java SE入门及基础(21)

发布时间:2024年01月18日

目录

成员变量和成员方法

1. 成员变量

解释说明

成员变量的初始值:

访问成员变量的语法

?示例

2. 成员方法

解释说明

调用成员方法的语法

示例

3. 成员变量和局部变量

解释说明

示例

4. this 关键字

思考

示例

Java?SE文章参考:Java SE入门及基础知识合集-CSDN博客


成员变量和成员方法

1. 成员变量

解释说明

????????在类中定义的变量就是成员变量。成员变量顾名思义是属于成员(具体的对象、具体的事物)的,成员变量有初始值。

成员变量的初始值:

????????引用数据类型的初始值都是 null ,整数都是0,浮点数都是0.0boolean类型是falsechar类型是 '\u0000'

访问成员变量的语法

对象名 . 属性名 ;

?示例

public static void main ( String [] args ) {
????????//这里 p 称为对象名,跟数组名一样,本质都是变量。只是在面向对象中称之为对象名
????????Person p = new Person (); // 构建了一个具体的人,只是这个人目前还没有名字,性别和年龄
????????System . out . println ( p . name + "\t" + p . sex + "\t" + p . age );
????????p . name = " 刘德华 " ;
????????p . sex = " " ;
????????p . age = 53 ;
????????System . out . println ( p . name + "\t" + p . sex + "\t" + p . age );
????????Person p1 = new Person ();
????????p1 . name = " 张学友 " ;
????????p1 . sex = " " ;
????????p1 . age = 52 ;
????????System . out . println ( p1 . name + "\t" + p1 . sex + "\t" + p1 . age );
????????Person p2 = new Person ();
????????p2 . name = " 黎明 " ;
????????p2 . sex = " " ;
????????p2 . age = 45 ;
????????System . out . println ( p2 . name + "\t" + p2 . sex + "\t" + p2 . age );
}

2. 成员方法

解释说明

????????在类中定义的方法就是成员方法。成员方法顾名思义是属于成员(具体的对象、具体的事物)的。

调用成员方法的语法

//[] 中内容可有可无
对象名 . 方法名 ([ 参数列表 ]);

示例

/**
* 人类
*/
public class Person {
????????public String name ; // 姓名
????????public String sex ; // 性别
????????public int age ; // 年龄
????????public void eat (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在吃饭 " );
????????}
????????public void sleep (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在睡觉 " );
????????}
????????public void work (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在工作 " );
????????}
}
public class PersonTest {
????????public static void main ( String [] args ) {
????????//这里 p 称为对象名,跟数组名一样,本质都是变量。只是在面向对象中称之为对象名
????????Person p = new Person (); // 构建了一个具体的人,只是这个人目前还没有名字,性别和年龄
????????System . out . println ( p . name + "\t" + p . sex + "\t" + p . age );
????????p . name = " 刘德华 " ;
????????p . sex = " " ;
????????p . age = 53 ;
????????System . out . println ( p . name + "\t" + p . sex + "\t" + p . age );
????????p . eat ();
????????p . sleep ();
????????p . work ();
????????Person p1 = new Person ();
????????p1 . name = " 张学友 " ;
????????p1 . sex = " " ;
????????p1 . age = 52 ;
????????System . out . println ( p1 . name + "\t" + p1 . sex + "\t" + p1 . age );
????????p1 . eat ();
????????p1 . sleep ();
????????p1 . work ();
????????Person p2 = new Person ();
????????p2 . name = " 黎明 " ;
????????p2 . sex = " " ;
????????p2 . age = 45 ;
????????System . out . println ( p2 . name + "\t" + p2 . sex + "\t" + p2 . age );
????????p2 . eat ();
????????p2 . sleep ();
????????p2 . work ();
}

3. 成员变量和局部变量

解释说明

????????局部变量就是在方法内部定义的变量。局部变量没有初始值,因此,局部变量在使用之前必须完成初始化操作。当局部变量与成员变量同名时,局部变量的优先级更高。

示例

public void show (){ // 展示
????????String name ; // 局部变量,没有初始值
????????System . out . println ( name + brand + "\t" + type + "\t" + price );
}
public void show (){ // 展示
????????//因此局部变量的作用范围更小,就在局部变量所定义的方法内,
????????//因此局部变量在方法内的优先级要高于成员变量
????????String brand = " 奔驰 " ;
????????System . out . println ( brand + "\t" + type + "\t" + price );
}

4. this 关键字

思考

????????在方法中,如果局部变量和成员变量同名,此时又想使用成员变量,怎么办呢?
????????此时需要使用this 关键字来解决。
????????this关键字表示的是当前对象(使用 new创建出来的对象)

示例

public class Car {
????????public String brand ; // 品牌
????????public String type ; // 型号
????????public double price ; // 价格
????????public void start (){
????????????????System . out . println ( " 汽车启动 " );
????????}
????????public void speedUp (){
????????????????System . out . println ( " 汽车加速 " );
????????}
????????public void stop (){
????????????????System . out . println ( " 汽车刹车 " );
????????}
????????public void show (){ // 展示
????????????????//因此局部变量的作用范围更小,就在局部变量所定义的方法内,
????????????????//因此局部变量在方法内的优先级要高于成员变量
????????????????String brand = " 奔驰 " ;
????????????????System . out . println ( this . brand + "\t" + type + "\t" + price );
????????}
}
public class CarTest {
????????public static void main ( String [] args ) {
????????????????Car c = new Car (); // this => c
????????????????c . brand = " 奥迪 " ;
????????????????c . type = "A8" ;
????????????????c . price = 100000 ;
????????????????c . show ();
????????????????Car c1 = new Car (); // this => c1
????????????????c1 . brand = " 大众 " ;
????????????????c1 . type = " 保时捷卡宴 " ;
????????????????c1 . price = 150000 ;
????????????????c1 . show ();
????????}
}
this还可以用来调用成员的方法
/**
* 人类
*/
public class Person {
????????public String name ; // 姓名
????????public String sex ; // 性别
????????public int age ; // 年龄
????????public void eat (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在吃饭 " );
????????????????work (); // 相当于 this.work();
????????}
????????public void sleep (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在睡觉 " );
????????????????work (); // 相当于 this.work();
????????}
????????public void work (){
????????????????System . out . println ( age + " 岁的 " + sex + " 性同志 " + name + " 在工作 " );
????????}
}

Java?SE文章参考:Java SE入门及基础知识合集-CSDN博客

文章来源:https://blog.csdn.net/m0_63181360/article/details/135673064
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。