Student类
package com.oop.demo4; public class Student { private String name; private int age; private char sex; // get 获取这个数据 public String getName() { return name; } // set 给这个数据设置值 public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { if (age > 120 || age < 0){ this.age = 3; }else { this.age = age; } } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } }
main方法
package com.oop.demo4; public class Application { public static void main(String[] args) { Student student = new Student(); student.setName("七七"); student.setAge(999); student.setSex('女'); System.out.println(student.getName()); System.out.println(student.getAge()); System.out.println(student.getSex()); } }
封装的意义:
父类 Person类
package com.oop.demo5; // 父类 public class Person { private int money = 10_0000_0000; public void say(){ System.out.println("说了一句话"); } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } }
子类 Student类
package com.oop.demo5; // 子类继承了父类,就会拥有父类的全部方法 // 子类 public class Student extends Person{ }
main
package com.oop.demo5; public class Application { public static void main(String[] args) { Student student = new Student(); student.say(); // 子类继承了父类的方法 System.out.println(student.getMoney()); } }
注意:多态是方法的多态,属性没有多态性
Person 父类
package com.oop.demo8; public class Person { public void run(){ System.out.println("run"); } }
Student 子类
package com.oop.demo8; public class Student extends Person{ public void run(){ System.out.println("runrun"); } public void eat(){ System.out.println("eat"); } }
main
package com.oop.demo8; public class Application { public static void main(String[] args) { Student s1 = new Student(); Person s2 = new Student(); Object s3 = new Student(); // 子类重写父类方法 s1.run(); // runrun s2.run(); // runrun s1.eat(); // 对象能执行那些方法,主要看对象左边的类型,跟右边关系不大 //s2.eat(); } }