day06-面向对象特性之封装的实现_私有private

This commit is contained in:
2026-05-10 13:56:26 +08:00
parent 3689d77853
commit 153253c031
4 changed files with 73 additions and 4 deletions

View File

@@ -19,8 +19,8 @@ public class Demo03 {
System.out.println(p1.color);
System.out.println(p1.price);
System.out.println(p1.size);*/
//p1.show();
showPhone(p1);
p1.show();
// showPhone(p1);
//对象的行为操作
p1.call("10086");
@@ -37,8 +37,8 @@ public class Demo03 {
System.out.println(p2.color);
System.out.println(p2.price);
System.out.println(p2.size);*/
//p2.show();
showPhone(p2);
p2.show();
// showPhone(p2);
p2.call("10000");
p2.sendMsg("13666666666");

View File

@@ -34,6 +34,7 @@ public class Phone {
//展示自己的功能
public void show(){
String brand1 = "小米";//局部变量
System.out.println("品牌是"+brand+",颜色是"+color+",价格是"+price+"的手机");
}

View File

@@ -0,0 +1,25 @@
package com.inmind.private02;
/*
面向对象之封装的作用:类的安全性
如何封装呢??
1.使用private关键字修饰成员变量
2.使用get/setXXX方法来对private修饰的成员变量进行取值和赋值
*/
public class Demo04 {
public static void main(String[] args) {
//创建一个学生对象
Student s = new Student();
//直接操作该对象的属性(不安全)
//属性被private修饰不能直接访问只能被它本类访问或通过方法间接访问
/*s.age = -18;
s.name = "张三";
System.out.println(s.age);
System.out.println(s.name);*/
s.setName("张三");
System.out.println(s.getName());
s.setAge(-18);
System.out.println(s.getAge());
}
}

View File

@@ -0,0 +1,43 @@
package com.inmind.private02;
/*
private:权限修饰符最小一个权限被它修饰的内容只能在本类中访问private可以修饰
成员方法和成员变量,表示私有化
*/
public class Student {
//姓名
private String name = "张三";//成员变量是可以有初始化值的!!!
//年龄
private int age;
//get方法
public String getName(){
return name;
}
//set方法
public void setName(String a){
name = a;
}
//get方法
public int getAge(){
return age;
}
//set方法
public void setAge(int a){
if (a < 0 || a > 120) {
System.out.println("您输入的年龄有误");
return;//提前结束方法如果年龄小于0或者大于120则直接返回不执行下面的代码
}
age = a;
}
//学习
public void study(String book){
System.out.println(name+"学生正在学习" + book);
}
}