/*
抽象类的概述:
把一个不是具体的功能成为抽象的功能,而一个类中如果有抽象的功能,该类一定是抽象类。
抽象类的特点:
A:抽象类和抽象方法必须使用abstract关键字修饰。
B:抽象类中不一定有抽象方法,但有抽象方法的类必须定义为抽象类。
C:抽象类不能实例化
因为它不是具体的。
抽象类有构造方法,但不能实例化。
用于子类访问父类数据的初始化。
D:抽象类的子类
a:如果不想重写抽象方法,该子类是一个抽象类。
b:重写所有的抽象方法,这个时候子类是一个具体的类
抽象类的实例化其实是靠具体子类实现的,是多态的方式。
*/
=====================A测试 练习一=================================
class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Student extends Person{
}
class Test{
public static void main(String [] args){
}
}
结果:
编译报错:
Test.java:1: Person 不是抽象的,并且未覆盖 Person 中的抽象方法 run()
class Person{
===========================B测试练习一=============================
abstract class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Test{
public static void main(String [] args){
}
}
结果:编译正确
=======================C测试练习一==============================
abstract class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Test{
public static void main(String [] args){
Person p =new Person();
}
}
结果:
编译报错:
Test.java:10: Person 是抽象的;无法对其进行实例化
Person p =new Person();
^
=============================D a测试练习一=============================
abstract class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Student extends Person{
}
class Test{
public static void main(String [] args){
}
}
结果:
编译报错:
Test.java:7: Student 不是抽象的,并且未覆盖 Person 中的抽象方法 run()
class Student extends Person{
^
=============================D b测试练习=========================
abstract class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Student extends Person{
public void run(){
System.out.println("学生会跑");
}
}
class Test{
public static void main(String [] args){
}
}
结果:
编译正确。
==========================总结===========================
abstract class Person{
public abstract void run();
public void eat(){
System.out.println("人会吃饭");
}
}
class Student extends Person{
public void run(){
System.out.println("学生会跑");
}
}
class Test{
public static void main(String [] args){
Person p =new Student();
p.run();
}
}
结果:
学生会跑
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。