0
点赞
收藏
分享

微信扫一扫

【Java面向对象】java学习之旅13-继承

weednoah 2022-03-12 阅读 127

定义:

使用:

例:

/**
 * 人类(父类)
 */
 public class Person { // 声明类名,一个java文件中只能有一个被public修饰的类,并且这个类的类名和文件名一致。

	// 实体类的属性,用来描述对象的特征。
	private String name;
	private int age;
	private char sex;
	private String color;
	
	// 构造方法,用于实例化对象并初始化赋值。
	public Person() {
	}

	public Person(String name, int age, char sex, String color) {
		// this指代的是当前对象,构造方法即将创建的这个对象,或者方法的调用对象。
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.color = color;
	}

	// getters/setters方法,用于操作私有属性,还可以完成对传入值的合法性校验.
	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 char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	// 类的方法,用于描述对象的行为.
	public void eat() {
		System.out.println("吃东西");
	}
	
	public void sleep() {
		System.out.println("睡觉");
	}
	
	// 重写自Object类,用于将对象的所有属性格式化成一个字符串,便于编程过程中的调试.
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", sex=" + sex + ", color=" + color + "]";
	}
	
}
/**
 * 学生类(继承父类)
 */
public class Student extends Person {

	public Student() {
		super(); // 父类的无参构造
	}

	public Student(String name, int age, char sex, String color) {
		// super指代父类对象
		super(name, age, sex, color); // 父类的有参构造
	}
	
	public void study() {
		System.out.println("学习敲代码");
	}
	
	@Override
	public void sleep() {
		System.out.println("好好学习,睡什么睡");
	}
	
	public void sleepFromSuperclass() {
		// 通过super关键字调用父类的其他方法
		super.sleep();
	}
	
	//覆盖或者重写父类的方法
	public String toString() {
		return "Student [name=" + getName() + ", age=" + getAge() + ", sex=" + getSex() + ", color=" + getColor() + "]";
	}
	
}

java继承的注意事项

引申以下概念:

重写

使用:

super vs this

四大访问权限修饰符

访问修饰符含义作用范围
public公开的整个项目
protected受保护的本类、同包其他类、跨包子类
default默认的本类、同包其他类
private私有的本类

总结:

一个类继承自一个类它会获得那个类中的所有方法和属性,并且可以有自己的方法和属性

举报

相关推荐

0 条评论