类的继承:
1.继承
关键字:extends
例如:class A extends B{
}
A:子类 B(超类,基类,SuperClass):父类
2.通过继承,子类可以继承父类中所有的属性和方法(构造器除外)
3.继承的注意:
①不能为了简化代码,获取某关系而继承,若要继承,二个类之间必须满足一定的所属关系: is a
②java只支持单继承,不支持多继承。(一个父类可以有多个子类,但是一个子类只能有一个父类)
③java支持多层继承
public class ExtendsTest1 {
public static void main(String[] args) {
Students stu=new Students();
stu.name="学生张三";
stu.age=18;
stu.no=2020740;
System.out.println("姓名:"+stu.name+" 年龄:"+stu.age+" 学号:"+stu.no);
stu.eat();
stu.sleep();
stu.study();
System.out.println("----------------------------");
Employee emp=new Employee();
emp.name="员工李四";
emp.age=22;
System.out.println("姓名:"+emp.name+" 年龄:"+emp.age);
emp.eat();
emp.sleep();
emp.work();
System.out.println("----------------------------");
Manager mag=new Manager();
mag.name="经理王五";
mag.age=35;
System.out.println("姓名:"+mag.name+" 年龄:"+mag.age);
mag.eat();
mag.sleep();
mag.work();
}
}
class Person{
String name;
int age;
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
class Students extends Person{
int no;
public void study(){
System.out.println("学习");
}
}
class Employee extends Person{
public void work(){
System.out.println("工作");
}
}
class Manager extends Employee{
}
package Exer;
public class ExtendsExer1 {
public static void main(String[] args) {
PC pc=new PC();
pc.cpu="3.0GHz";
pc.ram="16G";
pc.hdd="1T";
pc.box=true;
System.out.println(pc.getDetails());
pc.hasBox();
NotePad np=new NotePad();
np.cpu="5.0GHz";
np.ram="32G";
np.hdd="2T";
np.fold=true;
System.out.println(np.getDetails());
np.isFold();
}
}
class Computer{
String cpu;
String ram;
String hdd;
public String getDetails(){
return "CPU:"+cpu+" RAM:"+ram+" HDD:"+hdd;
}
}
class PC extends Computer{
boolean box;
public void hasBox(){
System.out.println("是否有主机箱:"+box);
}
}
class NotePad extends Computer{
boolean fold;
public void isFold(){
System.out.println("是否可以折叠:"+fold);
}
}



