package com.zy;
继承
/**
* 子类---》继承于父类
* 1.创建一个父类(基类)Person
* 2.创建一个子类(派生类)Student
* 3.用extends 来实现继承
* 4.继承的好处:
* ¥父类定义的内容,子类可以直接拿过来用了
* 注意:
* 1.private修饰的内容,子类实际上也继承了,只是因为封装的特性,
* 阻碍了直接调用,但是提供了间接调用的方式,可以调用
* 2.构造器不可以被继承;
权限修饰符:
* 【1】private(私人):只在当前类中可以访问
* 【2】default(缺省):在同一个包下的其他类中可以访问
* 【3】protected(保护):最大到不同包下的子类中可以访问
* 【4】:public(公共):再整各项目中都可以访问
* 总结:
* 属性:一般用, Private ,default和 Protected修饰
* 类名:一般用, public,default
继承:重写
* 1.发生在子类和父类当中,当子类对父类提供的方法不满意时,要对父类的方法进行重写
* 2.重写有严格的格式要求:
* 子类的方法名必须和父类一致,参数列表的个数类型顺序也要和父类一致
* 3.重载和重写的区别:
* 重载(overload):在同一个类中方法名相同形参列表不同时,构成了重载
* 重写(override):在不同的类中子类对父类提供的方法不满意时,要对父类的方法进行重写
4.父类中的静态方法子类可以继承,但是不可以重写
5.java中是单继承关系
英文 | 位置 | 修饰符 | 返回值 | 方法名 | 参数 | 抛出异常 | 方法体 | |
重载 | overload | 同一个类中 | 无关 | 无关 | 相同 | 不同 | 无关 | 不同 |
重写 | override | 子类和父类 | 父类的权限修饰符低于子类的权限修饰符 | 父类的返回值类型大于子类 | 相同 | 相同 | 小于等于 | 不同 |
*/
public class Person {
//属性
private String name;
private int age;
private int height;
//定义set,get方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
//定义方法
public void eat(){
System.out.println("正在吃饭...");
}
public void sleep(){
System.out.println("睡得香甜...");
}
}
package com.zy;
public class Student extends Person {
//子类的属性 private int id; private String hobby; //set,get方法 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } //子类的方法 public void study(){ System.out.println("正在艰难的学习中......"); } }package com.zy; public class Test { public static void main(String[] args) { //创建对象 Student s = new Student(); //赋值 s.setName("顺"); s.setAge(18); s.setHeight(180); s.setId(4022); s.setHobby("楠"); System.out.println(s.getName() + "~~" + s.getAge() + "~~" + s.getHeight() + "~~" + s.getId() + "~~" + s.getHobby()); //调用方法 s.eat(); s.sleep(); s.study(); } }