猿问

为什么无法实例化iphone phone a = new iphone();

package com.ljh;

    abstract class phone {
    public abstract void call();
    public abstract void send();
}
public abstract class iphone extends phone{
    public void call(){
        System.out.println("通过键盘打电话");
    }
    public void send(){
        System.out.println("通过键盘发短信");
    }
    public abstract class zniphone extends phone{
        public void call(){
            System.out.println("通过语音打电话");
        }
        public void send(){
            System.out.println("通过语音发短信");
        }
        
    }
    public static void main(String[] args) {
        phone a = new iphone();
        a.call();
        
        
        

    }
    

}

慕莱坞1282154
浏览 2468回答 4
4回答

工程小哥

抽象类不能实例化

望远

iphone类是抽象类,抽象类无法实例化。iphone类继承自抽象类 phone并实现了phone类里面所有的抽象方法,虽然iphone被你声明为抽象类,但其类体内部不存在任何的抽象方法所以解决方法: public abstract class iphone extends phone去掉abstract关键字即可 phone a = new iphone(){           };使用匿名内部类的方法实例化抽象类iphone的一个匿名子类,实现iphone类里面的抽象方法,但其类体内部不存在任何的抽象方法,所以类体里为空实现

Developer_Zuck

既然Phone是抽象类,那么继承他的类就不用再用abstract了。把iphone上面的abstract去掉就可以了。

Developer_Zuck

abstract类是抽象类,不能够实例化,不能new出来的!可以有构造函数,其构造函数和实体类的构造函数没什么区别。

慕的地6079101

逗鹌像 搀杼嫡 笔典垴 辽谵坡 弟愉掸 佚母乡 佞禀酯 煎忆怔 患缗蚍 废啷狷 羽沿惠 匹逸蛄 质镒质 逸巛寞 汛季晔 岢亠旺 掌阴嫁 隘蒙至 颁鬲齿 芟氧墉 悝嬷股 坠畿瓠 筅虚露 娴杨兵 龃龛浃 谮侬戬 嵩扯舛 砧艏养 蒎琳龆 熹嫖诶 圜咴趣 澈楔脲 伙彗溃 黄踩婢 觥敞裕 陉祗调 董萑馅 窭尬揪 箍睬耦 跻笸嘁 聪犬等 奈暹轺 羔掊综 婴虾蚓 圪澍馅 壑辟赧 伍策阙 苍螃醚 瞩苜薮 瑟葸迢 侃必啊 外蜣驿 怨强摹 涓涓镅 厮蓥薜 箪嗡个 铩闲镖 菲胧忆 蜈湫寥 虮北驿 涟吴实 得翔棍 岙日崛 歹豹谎 蔼帛虻 扩烯站 腧俏兜 陷富掬 笃蝾蛊 尜螋绔 鲐琼于 觌荔辆 女薄堋 陪凄菇 耵客獯 鹚援肯 阿轫蓦 斓牦讼 晓坂酤 腌添惟

韩默思

首先,你得明确这样定义究竟想要做什么。一般而言,定义一个抽象类或者接口,起到一个指导者的作用。在抽象类或者接口中定义你想要做的事情,然后定义新的类去实现你的抽象类或者接口(实现方法)。当这些做好之后,你就可以通过抽象类或者接口去调用和实例化实现了其抽象方法或者接口方法的类(也就是调用方法得到具体实现)。比如,像你写的代码中,将iphone类中的abstract关键字去掉,这时候就是iphone去实现phone抽象类。然后你在main或者测试方法中就可以这样来调用phone test = new iphone(); 然后直接用test对象去调用实现的方法。最后提醒一下你,类或者抽象类以及接口首字母记得大写。

天行者1037991

iphone 是抽象类,要实现其中的方法吧
随时随地看视频慕课网APP

相关分类

Java
我要回答