标题:抽象类的相关问题
只看楼主
infinite2015
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-24
结帖率:100%
 问题点数:0 回复次数:8 
抽象类的相关问题
import java.util.*;



public abstract class Animal {
    private String name;
    abstract void showInfo();
    abstract void act();
   
}



public class Cat extends Animal {
    void showInfo(){
        System.out.println("我是一只猫,");
    }
    void act(){
        System.out.println("我将表演猫步");
    }
}


public abstract class Dog extends Animal{
    void showInfo(){
        System.out.println("我是一只狗");
    }
    void act(){
        System.out.println("我将表演双脚站立行走!");
    }

}




public abstract class Bird extends Animal {
    void showInfo(){
        System.out.println("我是一只鸟");
    }
    void act(){
        System.out.println("我将表演唱歌");
    }
}


public class zoo {

    public static void main(String[] args) {
        
        
        Cat cat1 =new Cat();
        Bird bird1 =new Bird();//Cannot instantiate the type Bird
        Dog dog1=new Dog();//Cannot instantiate the type Dog
        
    }

}

为什么注释的两行,会出来后面的错误?
搜索更多相关主题的帖子: abstract private public import 
2015-04-24 14:24
infinite2015
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-24
得分:0 
我已经知道了,是我在Cat和Bird类前加了abstract~
2015-04-24 14:39
infinite2015
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-24
得分:0 
抽象类不能实例化
2015-04-24 16:48
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
public abstract class Animal {
    private String name;
    abstract void showInfo();
    abstract void act();   
}

父类作为抽象类内部的抽象方法都已重写不必再声明为抽象类
子类的可以额外定义各自特有的属性和方法来凸出多态特点
建议抽象父类中的属性或方法若要在子类使用或重写
就不要定义为私有类型的

剑栈风樯各苦辛,别时冰雪到时春
2015-04-24 21:05
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
得分:0 
楼上+1.

单曲循环,需要信心+耐心+恒心
2015-04-28 10:34
luo619568163
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-5-5
得分:0 
楼上的楼上+1
2015-05-05 09:56
xuewei6111
Rank: 1
来 自:安徽
等 级:新手上路
帖 子:4
专家分:4
注 册:2015-3-14
得分:0 
你应该对抽象类概念不清楚啊,抽象类是不能实例化的!
2015-05-12 11:37
zq1062787941
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2015-5-24
得分:0 
抽象类不能实例化
2015-05-24 12:52
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
回复 8楼 zq1062787941
你是说抽象类不能直接实例化吧。。。
虽然是很旧帖我还是说几句吧。下面来个例子。。。
public class shilihua {
    public static void main(String[] args){
        A a=new A(){
            void f(){
                System.out.println("anonymous class");
            }
        };
        a.f();
    }
}
abstract class A{
    abstract void f();
}
这个例子说明,抽象类虽然不能直接实例化,但。。。
楼主结贴吧

剑栈风樯各苦辛,别时冰雪到时春
2015-05-24 13:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444455-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.763994 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved