diff --git a/day06/src/com/inmind/object01/Demo01.java b/day06/src/com/inmind/object01/Demo01.java index 5ddd74c..83b4895 100644 --- a/day06/src/com/inmind/object01/Demo01.java +++ b/day06/src/com/inmind/object01/Demo01.java @@ -30,7 +30,7 @@ public class Demo01 { */ //学生对象的属性和行为的操作 //学生对象的属性值的设置 - s.name = "张三"; + /*s.name = "张三"; s.age = 22; s.id = 10; s.gender = "男生"; @@ -38,7 +38,7 @@ public class Demo01 { //学生对象的属性值的获取 System.out.println(s.name); System.out.println(s.score); - System.out.println(s.gender); + System.out.println(s.gender);*/ //调用学生对象的行为(成员方法) s.eat("肯德基"); diff --git a/day06/src/com/inmind/object01/Demo02.java b/day06/src/com/inmind/object01/Demo02.java index ee4d401..672edb4 100644 --- a/day06/src/com/inmind/object01/Demo02.java +++ b/day06/src/com/inmind/object01/Demo02.java @@ -4,14 +4,8 @@ public class Demo02 { public static void main(String[] args) { //创建2个学生 Student s1 = new Student(); - s1.name = "张三"; - s1.age = 23; - s1.id = 3; s1.study("java"); Student s2 = new Student(); - s2.name = "李四"; - s2.age = 2; - s2.id = 5; s2.study("python"); } } diff --git a/day06/src/com/inmind/object01/Demo04.java b/day06/src/com/inmind/object01/Demo04.java new file mode 100644 index 0000000..e48615d --- /dev/null +++ b/day06/src/com/inmind/object01/Demo04.java @@ -0,0 +1,23 @@ +package com.inmind.object01; +/* +面向对象之封装的作用:类的安全性 + +如何封装呢?? +1.使用private关键字修饰成员变量 +2.使用get/setXXX方法来对private修饰的成员变量,进行取值和赋值 + */ +public class Demo04 { + public static void main(String[] args) { + //创建一个学生,并给学生设置属性值,展示该学生 + Student s = new Student(); + //设置属性 + //s.name = "张三"; + s.setName("张三"); + //s.age = -23;//有点不安全 + s.setAge(23); + System.out.println(s.getName()); + System.out.println(s.getAge()); + s.show(); + + } +} diff --git a/day06/src/com/inmind/object01/Student.java b/day06/src/com/inmind/object01/Student.java index ab4c67a..579f02a 100644 --- a/day06/src/com/inmind/object01/Student.java +++ b/day06/src/com/inmind/object01/Student.java @@ -9,15 +9,40 @@ public class Student { //特征 //姓名 - String name; + private String name; //年龄 - int age; + private int age = 18; //学号 - int id; + private int id; //性别 - String gender; + private String gender; //成绩 - double score; + private double score; + + + //使用get/setXXX方法来对private修饰的成员变量,进行取值和赋值 + + public String getName(){ + return name; + } + + public void setName(String s){ + name = s;//对属性进行赋值 + } + + public int getAge(){ + return age; + } + + public void setAge(int a){ + if (a < 0||a >100) { + System.out.println("您传递的年龄有误,只能是0~100的值"); + //不对当前的属性进行赋值(让方法提前结束) + return;//结束方法,如果有返回值,就会把值返回 + } + age = a;//对属性进行赋值 + } + //行为(在描述一类事物时,设置的方法就不要加static) @@ -35,4 +60,8 @@ public class Student { public void study(String book) { System.out.println(name+"学生在学习,学"+book); } + + public void show() { + System.out.println("我叫"+name+",今年"+age+"岁"); + } }