1、封装
属性私有get、set
public class Student_01 {
private String name ;//姓名
private int id;//学号
//提供一些可以操作这个属性的方法。
//提供一些public的get 、set方法。
//alt + insert;
//get 获得这个数据
public String getName() {
return name;
}
//给这个数据设置值
public void setName(String name) {
this.name = name;
}
//------------------------------------------------------------------------------------------------------------------
public static void main(String[] args) {
Student_01 student_01 = new Student_01();
student_01.setName("小马");
System.out.println("姓名:" + student_01.getName());
}
2、封装的作用
- 提高程序的安全性,保护数据。
- 隐藏代码实现的细节。
- 统一接口。
- 系统可维护性增加。
3、继承
- 查看继承树快捷键:ctr了+h
- 子类继承父类,就有父类的全部方法。
- private 无法继承,继承一般用public修饰符。但是可以通get/set方法来操作private。
- 在javaz中,所有类都继承Object 类。extends Object.
- java 中只有单继承,没有多继承。
Person为父类(基类)
public class Person {
String name;
public void shout()
{
System.out.println("我会说话");
}
}
Student_01
public class Student_01 extends Person{
}
main 方法
public static void main(String[] args) {
Student_01 student_01 = new Student_01();
student_01.shout();
}
4、super ,this
父类:
public class Person {
protected String name = "狂神";
public Person(){
System.out.println("父类无参执行了");
}
public class Student_01 extends Person{
private String name = "kuangshen" ;//姓名
public Student_01(){
System.out.println("子类无参执行了");
}
结果:
在子类的无参构造器中,默认调用了super();调用父类的构造器。
super注意点:
1、super 调用父类的构造方法,必须在构造方法第一个。
2、super必须只能出现在子类的方法或者构造方法中。
3、super 和this不能同时调用构造方法。
4、父类只有有参构造时候,子类不可以有无参构造,并且子类的有参构造需要显式调用父类的有参构造。
super和this 区别
-
代表对象不一样
this :本身调用者这个对象
super:代表父类对象应用。 -
前提
this 没有继承也可以用。
super:只能在继承条件下才可以使用。
构造方法:
this();本类构造
super();父类构造。