java 面向对象的特征之二 继承

版权声明:尊重原创,码字不易,转载需博主同意。 https://blog.csdn.net/qq_34626097/article/details/83021179

1.为什么要设计继承性

  1. 让类和类之间产生关系
  2. 减少代码量
  3. 增加程序的扩展性

2. 通过class A extends B实现类的继承

  1. 子类:A 的父类为 B ,B可以称为基类、SuperClass和超类等。
  2. 子类继承父类以后,父类中声明的属性、方法,子类就可以获取得到
  3. .java的继承只支持单继承,一个类只能继承一个父类,反之,一个父类可以有多个子类
  4. 子类父类是相对的概念

3.java继承的特点

  1. 明确:当父类中有私有的属性和方法时,子类同样可以获取得到,只是又封装性的设计,子类不可以直接调用
    A.子类除了通过继承,获取父类的结构之后,还可以定义自己特有的属性和方法
    B.extends: 子类是对父类功能的“扩展”,子类不是父类的子集;

4.继承结构图

继承人的属性

5.demo

public class Person {
	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	...
	public void eat() {
		System.out.println("吃饭");
	}
}
// 注释并影响代码程序,其可以在继承person类的属性、方法等
public class Student extends Person{
//	private String name;
//	private int age;
	private String school;
	public Student() {}
	public Student(String name,int age) {
		this.setAge(age);
		this.setName(name);
	}
//	public String getName() {
//		return name;
//	}
//	public void setName(String name) {
//		this.name = name;
//	}
//	public int getAge() {
//		return age;
//	}
//	public void setAge(int age) {
//		this.age = age;
//	}
//	public void eat() {
//		System.out.println("吃饭");
//	}
//	
}
// 注释并影响代码程序,其可以在继承person类的属性、方法等
public class Worker extends Person{
//	private String name;
//	private int age;
//	public String getName() {
//		return name;
//	}
	public Worker() {}
	public Worker(String name,int age) {
//		this.name = name;
//		this.age = age;
		this.setName(name);
		this.setAge(age);
	}
//	public void setName(String name) {
//		this.name = name;
//	}
//	public int getAge() {
//		return age;
//	}
//	public void setAge(int age) {
//		this.age = age;
//	}
//	public void eat() {
//		System.out.println("吃饭");
//	}
}

猜你喜欢

转载自blog.csdn.net/qq_34626097/article/details/83021179
今日推荐