您的位置:首页 > 编程语言 > Java开发

Java子类继承父类

2015-08-07 15:57 477 查看
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("蹦蹦跳跳");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: