Java子类继承父类

1.子类继承了父类,就继承了父类的方法和属性。

2.在子类中,可以使用父类中“public”、“protected”和“缺省”(缺省时,.java文件必须要在同一个包内)定义的方法和属性,也可以创建新的数据和方法;没有访问“private”定义的方法和属性的权限。

protected的使用方式:

/**
 * Person.java
 */
package com.iting.testProtect.vo;

public class Person {
	protected String name;
	protected int age;
	
	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;
	}
	
	
}

/**
 * Student.java
 */
package com.iting.testProtect.vo;

public class Student extends Person {
	private String school;

	public String getSchool() {
		return school;
	}

	public void setSchool(String school) {
		this.school = school;
	}

	public Student(String name , int age , String school) {
		this.name = name;
		this.age = age;
		this.school = school;
	}

	@Override
	public String toString() {
		return "Student [school=" + school + ", name=" + name + ", age=" + age
				+ ", getSchool()=" + getSchool() + ", getName()=" + getName()
				+ ", getAge()=" + getAge() + ", getClass()=" + getClass()
				+ ", hashCode()=" + hashCode() + ", toString()="
				+ super.toString() + "]";
	}
	
	
}

/**
 * Main.java
 */
package com.iting.testProtect.main;

import com.iting.testProtect.vo.Student;

public class Main {
	public static void main(String[] args) {
		Student student = new Student("阿呆",18,"集美大学");
		System.out.println(student.toString());
	}

}



3.在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”。




4.一个子类只能有一个父类,然而,一个父类可以有多个子类。


5.重写继承的方法的相关问题:

/**
 * Person.java
 */
package com.iting.testProtect.vo;

public class Person {
	
	private void working() {
		System.out.println("上班");
	}
	
	protected void eat() {
		System.out.println("吃白米饭");
	}
	
	public void walking() {
		System.out.println("随便走");
	}
}

/**
 * Student.java
 */
package com.iting.testProtect.vo;

public class Student extends Person {
	
	/*这不是重写,Student并没有获得Person的working()方法的权限*/
	public void working() {
		System.out.println("上学");
	}
	
	/*这是重写,子类方法的权限必须 >= 所重写的父类方法的权限*/
	public void eat() {
		System.out.println("喝粥");
	}
	
	/*非法,子类中的walking()方法的访问权限private比被覆盖方法的访问权限public弱*/
	private void walking() {
		System.out.println("蹦蹦跳跳");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值