j ava寒假培训@TOC
Java寒假培训
继承
通过继承能够快速开发出新的类,而不需要编写相同的程序代码,这就是代码再利用的概念。
格式:class 父类{} //定义父类 class 子类 extends 父类{} //使用extends关键字实现继承
例:
class Person1{
private String name;
private 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是Person的子类
class Student1 extends Person1{
private String school;
private int number;
public String getSchool(){
return school;
}
public void setSchool(String school) {
this.school = school;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
public class ExtDemo02 {
public static void main(String args[]) {
Student1 stu = new Student1();
stu.setName("张欣怡");
stu.setAge(11);
stu.setSchool("小沥小学");
stu.setNumber(43);
System.out.println("姓名:"+stu.getName()+" 年龄:"+stu.getAge()+" 学校:"+stu.getSchool()+" 学号:"+stu.getNumber());
}
}
注意:只允许多层继承不允许多重继承。图6-4是多层继承
抽象类
格式:
abstract class A{
public static final String FLAG = "CHINA";
public String name = "张欣";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int age = 19;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void print(); //定义抽象类方法
}
Tips
抽象方法不要使用private声明,因为抽象方法必须被子类覆写,而如果使用了private声明子类是无法覆写的。
接口
接口也可以理解为一种特殊的类,里面全是由全局常量和公共的抽象类方法所组成。
格式:
package test2;
interface A{
public String AUTHOR = "图图"; //定义全局变量
public void printA();
public String getInfo(); //定义抽象方法
}
与抽象类一样,接口也必须通过子类,子类通过implements关键字实现接口
实现接口
一个子类可以同时实现多个接口,如下:
class X implements A,B{
}
抽象类实现接口
abstract class B implements A{
}
接口的多继承
在Java中一个接口是不允许继承抽象类的,但是允许一个接口继承多个接口,如:
interface A{
public String AUTHOR = "图图"; //定义全局变量
public void printA();
//public String getInfo(); //定义抽象方法
}
//abstract class B{
// public abstract void say();
//}
interface B{
public void printB();
}
interface C extends A,B{ //定义接口C同时继承接口A,B
public void printC();
}
class X implements C{ //子类同时实现两个接口
public void printA() {
System.out.println("A、新年快乐");
}
public void printB() {
System.out.println("B、虎年大吉");
}
public void printC() {
System.out.println("C、虎虎生威");
}
}
public class InterfaceDemo01 {
public static void main(String arg[]) {
X x =new X();
x.printA();
x.printB();
x.printC();
}
}