我自己问自己

1.普通类可以有抽象方法么?

有抽象方法的类只能被定义为抽象类,抽象类里可以没有抽象方法。

  • 普通类与抽象类的区别

1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
2)抽象类不能用来创建对象;
3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

  • 抽象类和接口的区别

1.语法层面上的区别

1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法; 4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。

2.设计层面上的区别

1)抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。

抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。举个简单的例子,飞机和鸟是不同类的事物,但是它们都有一个共性,就是都会飞。那么在设计的时候,可以将飞机设计为一个类Airplane,将鸟设计为一个类Bird,但是不能将
飞行 这个特性也设计为类,因此它只是一个行为特性,并不是对一类事物的抽象描述。此时可以将 飞行 设计为一个接口Fly,包含方法fly(
),然后Airplane和Bird分别根据自己的需要实现Fly这个接口。然后至于有不同种类的飞机,比如战斗机、民用飞机等直接继承Airplane即可,对于鸟也是类似的,不同种类的鸟直接继承Bird类即可。从这里可以看出,继承是一个
"是不是"的关系,而 接口 实现则是
"有没有"的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,而接口实现则是有没有、具备不具备的关系,比如鸟是否能飞(或者是否具备飞行这个特点),能飞行则可以实现这个接口,不能飞行就不实现这个接口。

2)设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。

而接口是一种行为规范,它是一种辐射式设计。什么是模板式设计?最简单例子,大家都用过ppt里面的模板,如果用模板A设计了ppt B和ppt
C,ppt B和ppt C公共的部分就是模板A了,如果它们的公共部分需要改动,则只需要改动模板A就可以了,不需要重新对ppt B和ppt
C进行改动。而辐射式设计,比如某个电梯都装了某种报警器,一旦要更新报警器,就必须全部更新。也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动。

2.为什么要写无参的构造方法?

在这里插入图片描述
如果有有参的构造方法,而不写无参的构造方法,此时提示“这个无参数构造Student()方法未定义”,在之前我们说了JVM会默,认为类提供无参数构造方法,但是这只能是在没有任何有参构造方法的条件下,现在我们定义了四个有参数构造方法(JVM认为你不需要无参数构造方法了),所以JVM不再提供无参数的构造的构造方法了。

所以我们定义了有参数构造方法那么也需要定义出无参数构造方法。
原文地址:https://blog.csdn.net/java9875/article/details/110919886

3.distinct; order by; left join; right join; as; exists; join;你能利用以上关键词熟练的写SQL操作数据库么?

4.java中静态常量与变量的区别

5.手写入栈出栈

6.手写一个单例模式的类

7.手写冒泡排序

8.为什么IO请求会让线程阻塞

9.什么是时间复杂度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,我可以自自答。下面是我为自己提出的几个题和回答: 题 1: 人工智能是什么? 答案 1: 人工智能是研究、开发电脑系统,使之能够完成人类能力,例如:语音识别,自然语言处理,图像识别,自动驾驶等。 题 2: 深度学习是什么? 答案 2: 深度学习是人工智能的一种方法,基于人工神经网络的学习算法,能够自动从数据中学习到特征。 ### 回答2: 是的,我会自自答。下面是一个示例: 题一:你认为自自答的好处是什么? 回答一:自自答可以帮助我更加深入地思考题。通过自己提出题并给出答案,我可以在心里进行一次全面的讨论和思考。 题二:在哪些情况下,你会选择自自答? 回答二:我通常会选择自自答的情况是当我需要理清自己的思路,或者需要一个安静的环境进行独立思考时。自自答可以帮助我提炼思路,找到题的关键点。 题三:你认为自自答的局限是什么? 回答三:自自答的局限是可能会受到思维的局限性和主观偏见的影响。由于是单一的个体思考,可能会忽略或者排斥其他不同的观点和解决方案。 通过自自答,我可以更好地理解自己的思考方式,找到题的症结所在,并且在解决题时提供更多的可能性和视角。同时,这也是一种训练自己思考能力和批判性思维的方式。 ### 回答3: 是的,我会自自答。以下是我自己自己的几个题和我的回答: 题1: 你认为自自答有什么好处? 回答1: 自自答可以帮助我梳理思路、理清思绪。通过提自己并回答,我可以更好地理解和掌握自己的知识和想法。 题2: 对你而言,自自答在学习中有什么作用? 回答2: 自自答可以帮助我更深入地理解和记忆学到的知识。通过主动提出题,并在脑中思考和回答这些题,我可以加强对知识的理解和记忆。 题3: 自自答有助于提高解决题的能力吗? 回答3: 是的,自自答可以提高解决题的能力。通过自自答,我可以锻炼我的题分析和解决题的能力。同时,自自答也可以帮助我更好地发现题中的逻辑漏洞和潜在解决方案。 题4: 自自答是否能帮助你更好地理解自己的情感和情绪? 回答4: 自自答在很大程度上可以帮助我更好地理解自己的情感和情绪。通过自自答,我可以深入思考自己的内心世界,加深对自己情感和情绪的认知,从而更好地应对和处理自己的情感和情绪变化。 通过自自答,我可以不断挖掘自己的潜力,提高自己的学习能力和题解决能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值