一.抽象类的定义
abstract class Person
{
//抽象方法
public abstract void eat();
//abstract void eat(){} 这不是抽象方法,{}也是函数体
//普通方法,抽象类中可以有普通方法,但是只要有一个抽象方法就是抽象类
public void walk()
{
System.out.println("I am person. I can walk");
}
}
class Student extends Person
{
public void eat()
{
System.out.println("I am student. I eat 脑白金") ;
}
}
public class AbstractTest {
public static void main(String[] args)
{
Student student1 = new Student();
student1.eat();//输出为: I am student. I eat 脑白金
}
}
二.抽象类的使用
abstract class Person
{
//抽象方法
public abstract void eat();
}
class Student extends Person
{
public void eat()
{
System.out.println("I am student. I eat 脑白金") ;
}
}
public class AbstractTest {
public static void main(String[] args)
{
Person person = new Student();
person.eat();//输出为 I am student. I eat 脑白金
}
}
要点:
三.接口的定义
interface Speak
{
//定义了一个方法,说英语。表示一种能力,供子类实现
public abstract void speakEnglish();
}
class Student implements Speak
{
//Student类实现了speakEnglish()方法,具有了说英语的能力
public void speakEnglish()
{
System.out.println("I am student.I can speak English");
}
}
public class InterfaceTest {
public static void main(String[] args)
{
Student student = new Student();
student.speakEnglish();
}
}
abstract class Person
{
//定义一个抽象方法,是人就会吃,所以放在父类是合适的。但是吃什么是不一定的,所以定义为抽象方法,由子类具体实现
public abstract void eat();
}
interface Speak
{
//定义了一个方法,说英语。表示一种能力,供子类实现
public abstract void speakEnglish();
}
interface Jump
{
//定义个方法,大跳。表示一种能力,供子类实现
public abstract void jump();
}
class Student extends Person implements Speak,Jump
{
//Student类继承了Person抽象类,实现eat方法
public void eat()
{
System.out.println("I am student. I eat 脑白金");
}
//Student类实现了speakEnglish()方法,具有了说英语的能力
public void speakEnglish()
{
System.out.println("I am student.I can speak English");
}
//Student类实现了jump()方法。具有了大跳的能力
public void jump()
{
System.out.println("I am student.I can jump");
}
}
public class InterfaceTest {
public static void main(String[] args)
{
Student student = new Student();
student.eat();
student.speakEnglish();
student.jump();
}
}
这个类中,Student类继承了Person类,实现了Speak和Jump接口。继承自己父类的方法,同时也具有了接口提供的能力。
四.接口中定义的常量
interface Inter
{
//定义在接口中的常量必须初始化
public static final int MAX_VALUE = 100;
public abstract void print();
}
//实现了接口,就可以直接使用接口中定义的常量
class Myclass implements Inter
{
public void print()
{
System.out.println(MAX_VALUE);
}
}
public class InterfaceTest2 {
public static void main(String[] args)
{
Myclass myclass = new Myclass();
myclass.print();//输出结果为 100
}
}
要点:
376



被折叠的 条评论
为什么被折叠?



