day13-面向对象(下)-2
1、abstract 能修饰哪些结构? 修饰以后,有什么特点?
(1)可以修饰类,该类为抽象类,不能被实例化。
(2)可以修饰方法,该方法为抽象方法,不能有方法体,只定义了一种功能的标准。
2、接口是否能继承接口? 抽象类是否能实现(implements)接口? 抽象类是否能继承非抽象的类?
接口可以继承接口
抽象类可以实现接口
抽象类可以继承非抽象的类
3、声明抽象类,并包含抽象方法。测试类中创建一个继承抽象类的匿名子类的对象
public abstract class Person{ abstract void eat(); } public class PersonTest{ public static void main(String args[]){ //匿名子类的对象 new Person(){ public void eat(){ System.out.println("吃饭"); } }; } }
4、抽象类和接口有哪些共同点和区别?
区别:
(1)抽象类用abstract关键字修饰,接口用interface关键字修饰
(2)继承抽象类用extends关键字,实现接口用implements关键字
(3)JDK1.8之前,接口中只能包含常量和抽象方法,JDK1.8之后,接口中还可以包含静态方法和默认方法,抽象类中可以包含属性、方法、构造器、代码块、内部类
(4)子类只能直接继承一个抽象父类,但是可以实现多个接口
共同点:
(1)抽象类和接口都不可以被实例化
5、如何创建静态成员内部类和非静态成员内部类的对象?
public class InnterClassTest{ public static void main(String args){ //创建静态成员内部类的对象 InnterClassTest.AA aa = new InnterClassTest.AA(); //创建非静态成员内部类对象 InnterClassTest.BB bb = new InnterClassTest().new BB(); } //静态成员内部类 static class AA{ } //非静态成员内部类 class BB{ } }
本文作者:huxingxin
本文链接:https://www.cnblogs.com/huxingxin/articles/17023956.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步