定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的 读取和修改 的访问级别。
写代码时只需要做到属性私有,get/set。
即对象的属性用private来进行修饰,当需要对其进行访问时用get方法,需要修改时用set方法来修改。
如:
public class Student{ //属性私有 private String name; //姓名 private int id; //学号 private char sex; //性别 } //提供一些可以操纵这些属性的方法 快捷键ctl + Enter 如: public String getName() { return name; } public void setName(String name) { this.name = name; }
调用时
public static void main(String[] args) { Student s1 = new Student(); s1.setName("阿文"); }
Java中类只支持单继承(一个父类可以有多个子类,一个子类只能有一个父类)
//后续学到接口再来补充接口间接实现多继承的知识点
Super
直接引用:即super.×××直接饮用父类的成员
其实也算是一种直接引用。只不过是子类引用父类中和子类同名的属性或方法
如:
//子类 public class Student{ private String name = "全辣柯基"; //和父类同名的属性name //和父类同名的方法print public void print(){ System.out.println("A"); } public void test(){ print(); //输出A this.print(); //输出A super.print(); //输出B System.out.println(this.name); //输出 全辣柯基 System.out.println(super.name); //输出 全辣鲤鱼 } }
//父类 public class Person{ private String name = "全辣鲤鱼"; //姓名 public void print(){ System.out.println("B"); } } \
//父类 public class Person{ public Person(){ System.out.println("父类的无参构造执行了"); } }
//子类 public class Student{ public Student(){ System.out.println("子类的无参构造执行了"); } }
//测试代码 public static void main(String[] args) { Student s = new Student(); }
测试代码的运行结果会输出
需要注意的点: