第4章 类和对象的高级特征
第4章 类和对象的高级特征
类和对象的高级特征 4.1接口 4.2内部类 3包
类和对象的高级特征 •4.1 接口 •4.2 内部类 •4.3 包
4.1接口 日常生活中的接口: 国亲对大陆的访问与九·二共认 “九二共识”的意思是一个中国,各自表 述 4.1.1定义接口 接口( nterface):没有实现的方法和常量的集 合。格式例4.1 4.1.2实现接口例4.2例43 4.1.3类和接口的关系
4.1 接口 日常生活中的接口: 国亲对大陆的访问与九·二共识 “九二共识”的意思是一个中国,各自表 述。 4.1.1 定义接口 接口(interface):没有实现的方法和常量的集 合。 格式 例4.1 4.1.2 实现接口 例4.2 例4.3 4.1.3 类和接口的关系
接口的格式 public] interface接口名[ extends父接口名1,] [public static final]类型变量名1=值; [public abstract返回值类型方法名1(形参表);
接口的格式 [public] interface 接口名 [extends 父接口名1, … ] { [public static final] 类型 变量名1=值; … ; [public abstract] 返回值类型 方法名1(形参表); … ; }
声明接口 interface student info∥学生情况接口 int year 2002 int ageo void output
声明接口 interface Student_info //学生情况接口 { int year = 2002; int age(); void output(); }
实现接口的类 public class Stu1 implements Student info∥实现学生情况接口 String name; int birth year ∥类自己的成员变量 public Stul(String n1, int y) name = n1 birth year=y public int ageo ∥实现接口的方法 return year-birth year; public void output ∥实现接口的方法 System. out println(this name +" this age 0+3") public static void main(String args Stu1s1= new stu1("李明",1980); s1output (:
实现接口的类 public class Stu1 implements Student_info //实现学生情况接口 { String name; int birth_year; //类自己的成员变量 public Stu1(String n1,int y) { name = n1; birth_year = y; } public int age() //实现接口的方法 { return year - birth_year; } public void output() //实现接口的方法 { System.out.println(this.name +" "+ this.age()+"岁"); } public static void main (String args[]) { Stu1 s1 = new Stu1("李明",1980); s1.output(); } }
个类实现多个接口 interface Student scour∥学生成绩接口 float total void output public class Stu2 implements Student info, Student scour ∥实现学生情况接口、学生成绩接口 String name int birth year; float math, english, computer public Stu2 (String n1, int y, float a, float b, float c) name =n1 birth year =y math= a english b computer=
一个类实现多个接口 interface Student_scoure //学生成绩接口 { float total(); void output(); } public class Stu2 implements Student_info, Student_scoure { //实现学生情况接口、学生成绩接口 String name; int birth_year; float math,english,computer; public Stu2(String n1,int y,float a,float b,float c) { name = n1; birth_year = y; math = a; english = b; computer = c; }
public int ageo return year-birth year public float total return math english computer public void output ∥(实现接口的方法 System. out. print(this name+""+ this age(+y") System. out. printIn(math +" english + computer++ total): public static void main(String args) Stu2s2= new stu2("李明",1980,90,80,70); 52 output( 李明22岁90.080.070.0240.0
public int age() { return year - birth_year; } public float total() { return math + english + computer; } public void output() //实现接口的方法 { System.out.print(this.name +" "+ this.age()+"岁 "); System.out.println(math +" "+ english +" "+ computer +" "+ total()); } public static void main (String args[]) { Stu2 s2 = new Stu2("李明",1980,90,80,70); s2.output(); } 李明 22岁 90.0 80.0 70.0 240.0
4.1.3类和接口的关系 个类只能单继承一个父类,但可以实现多个接 ②一个接口可以被多个类实现 ③接口可以不定义任何方法声名。 罪抽象的方法 定义非抽象的方法,但接口不能定义 ⑤接口的继承是将多个接口聚合成为一个接口 ⑦被实现的方法必须显式地给出pb级多多 ⑥一个类声明实现某个接口后,必须实现该接 全部方法,包括该接口所有的父接 被实 方法定义,必须与接口中的定义完全
4.1.3 类和接口的关系 ① 一个类只能单继承一个父类,但可以实现多个接 口。 ② 一个接口可以被多个类实现。 ③ 接口可以不定义任何方法声名。 ④ 抽象类可以定义非抽象的方法,但接口不能定义 非抽象的方法。 ⑤ 接口的继承是将多个接口聚合成为一个接口。 ⑥ 一个类声明实现某个接口后,必须实现该接口的 全部方法,包括该接口所有的父接口。被实现的 方法定义,必须与接口中的定义完全一致。 ⑦ 被实现的方法必须显式地给出public修饰
4.2内部类 ·日常生活中的内部类: 中国由四个直辖市、三十一个省和两个特 别行政区组成 学校由教师、职工和学生组成。 学习小组由名称、人数、组长、成员和活 动按排组成。 内部类和外部类例44 4.2.1内部类特性 4.2.2静态内部类
4.2 内部类 • 日常生活中的内部类: 中国由四个直辖市、三十一个省和两个特 别行政区组成。 学校由教师、职工和学生组成。 学习小组由名称、人数、组长、成员和活 动按排组成。 • 内部类和外部类 例4.4 • 4.2.1 内部类特性 • 4.2.2 静态内部类