java

mac2026-08-30  7

一、成员变量与局部变量

1、区别 1)在类中的位置不同 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) 2)在内存中的位置不同 成员变量:堆内存 局部变量:栈内存 3)生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 4)初始值不同 成员变量:有默认值,可以直接调用 局部变量:无默认值,需先定义、赋值,再调用

二、private关键字

通过对象直接访问成员变量,会存在数据安全问题; 如何实现不让外界的对象直接访问成员变量: private关键字

private:

是一个修饰符 可以修饰成员变量,也可以修饰成员方法 被private修饰的成员只能在本类中被访问 针对private修饰的成员变量,会相应的使用getXxx()和getXxx()用于获取和设置成员变量的值,方法用public修饰

代码块: 学生类:Student

public class Student{ String name; private int age; public void setAge(){ if(a<0||a>100){ System.out.println("所给的年龄有误") }else{ age=a; } } public int getAge(){ return age; } public void show(){ System.out.println("姓名是:"+name+“,年龄是:”+age); } } 学生测试类:StudentDemo public class StudentDemo{ public static void main(String[] args){ Student s = new Student(); s.show(); s.name = "林青霞"; s.setAge(28); s.show(); } }

四、封装的概述和好处

封装: 面向对象的三大特征之一(继承和多态) 是编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改 封装原则: 将不需要对外提供的内容都隐藏起来 把属性隐藏,提供公共方法对其访问 成员变量:private,提供对外的getXxx()/setXxx()方法 好处: 通过方法来控制成员变量的操作,提高了代码的安全性 把代码用方法进行封装,提高了代码的重复性

三、this关键字的由来以及使用

如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近的原则 用this关键字可以将把局部变量赋值给成员变量(局部变量名个成员变量名相同的情况下) this:代表所在类的对象引用 方法被哪个对象调用,this就代表那个对象

学生类:Student

public class Student{ String name; private int age; public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } public void show(){ System.out.println("姓名是:"+name+“,年龄是:”+age); } }

学生测试类:StudentDemo

public class StudentDemo{ public static void main(String[] args){ Student s = new Student(); s.show(); s.name = "林青霞"; s.setAge(28); s.show(); } }
最新回复(0)