第六章
Java类设计
1
本章内容
Java类的继承
方法的重载、重写
多态性及其应用
成员访问控制
对象的创建和初始化细节
几种常用的Java类
2
类的继承(1)
为描述和处理个人信息,定义类Person:
public class Person {
public String name;
public int age;
public Date birthDate;
public String getInfo() {...}
}
Person
+name : String
+age : int
+birthDate : Date
+getInfo() : String
3
类的继承(2)
为描述和处理学生信息,定义类Student:
public class Student {
public String name;
public int age;
public Date birthDate;
public String school;
public String getInfo() {...}
}
Student
+name : String
+age : int
+birthDate : Date
+school : String
+getInfo() : String
4
类的继承(3)
通过继承,简化Student类的定义:
public class Person {
public String name;
public int age;
public Date birthDate;
public String getInfo() {...}
}
public class Student extends Person{
public String school;
}
Person
+name : String
+age : int
+birthDate : Date
+getInfo() : String
Student
+school : String
5
类的继承(4)
类继承语法规则:
< modifier> class < name> [extends < superclass>] {
< declarations>*
}
Object类是所有Java类的最高层父类
Java只支持单继承,不允许多重继承
一个子类只能有一个父类
一个父类可以继承出多个子类
6
单继承举例(1)
Person
+name : String
+age : int
+birthDate : Date
+getInfo() : String
Student
+school : String
Soldier
Officer
Graduate
+major : history
+register() : void
7
单继承举例(2)
public class TestAnimals {
public static void main (String [] args) {
Horse b = new Horse();
(());
}
}
class Animal {
private int i=1;
public int getI(){
return i;
}
public void setI(int i){
=i;
}
}
class Horse extends Animal {
int i=2;
}
8
访问控制
Modifer
Same Class
Same Package
Subclass
Universe
private
Yes
default
Yes
Yes
protected
Yes
Yes
Yes
public
Yes
Yes
Yes
Yes
可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级:
9
访问控制举例(1)
class Parent{
private int f1 = 1;
int f2 = 2;
protected int f3 = 3;
public int f4 = 4;
private void fm1() {("in fm1() f1=" + f1);}
void fm2() {("in fm2() f2=" + f2);}
protected void fm3() {("in fm3(
JAVA程序员培训定制课程c06课件 来自淘豆网m.daumloan.com转载请标明出处.