雨课堂知识点总结(十一)
3.4Object-Oriented Programming(OOP)
1.关于static和final的说法,正确的是:
static类型的方法,调用时无需创建类的实例对象,可直接通过类名使用
被声明为final类型的类,无法从中派生出子类
被声明为final类型的方法,无法在子类中被override
类A的static方法中不能直接调用A的instance方法(而是要new一个A的对象再调用);A的instance方法中可以直接调用A的static方法
不正确:
一个变量被声明为final,意味着它在被首次赋值之后,其内容就不能再变化
2.关于Java interface的说法,正确的是:
不能有constructor(构造方法)
不能有final方法
不能有private方法
可以有static方法
可以有fields(属性)
解析:
可以有属性的,都是public static final的
3.关于class和interface的说法,不正确的是:
一个类只能implements一个接口
一个类不能同时extends另一个类和implements一个接口
正确的:
一个接口可以extends一个或多个其他接口
一个类implements了一个接口,意味着它必须要实现该接口中的所有方法
一个类除了实现其implements的接口中的方法,还可以增加新的方法
4.某方法的定义是public int getLength (List <String> list, boolean bFliter),对该方法合法的重载:
private int getLength (List<String> list, String regex)
public Integer getLength (List<String> list)
public int getLength (List<String> list) throws IOException
不合法的:
public void getLength (List<Object> list, boolean bFliter)
5.关于Java OOP中override 和overload的异同,说法正确的是:
前者的参数列表不能改变,后者的参数列表必须发生变化
前者的返回值类型不可变化,后者的返回值类型可以变化
前者的类型检查发生在run-time,后者的类型检查发生在compile-time
在子类里override父类方法时,@override不是必须的
6.class Car{
public String refuel()
{ return "R";}
}
Class Tesla extends Car{
public String refuel(){return "C";}
public String refuel(double price)
{return "p";}
}
无法通过static type checking的是
Car c = new Car();
c.refuel(10);
Car c = new Tesla();
c.refuel(10);
7.
class Car{
public String refuel()
{ return "R";}
}
Class Tesla extends Car{
public String refuel(){return "C";}
public String refuel(double price)
{return "p";}
}
能获得内容为"C"的字符串是
Car c = new Tesla();
c.refuel();
Tesla t = Tesla();
t.refuel();
8.类A和B,BextendsA,二者分别有一个apply(A a)方法,具有不同的返回值类型
假如
A a = new A();
B b = new B();
下面正确的是:
b.apply(a)与((B)b).apply((B)a)不等价
注意:将a向下强转做不到,运行时候会抛出异常ClassCastExcepion
((A) b).apply( a) 与b.apply(a)是等价的
因为B是A的子类,所以b必然是A的实例,所以将b转成(A)b,本质上还是等价的
9.关于OOPpolymorphism(多态)的各选项中:
generics和overriding不是同义词
下面的是同义词:
subtype polymorpgism 和 inclusion polymorphism
Parametric polymorphism 和 generics
ad hoc polymorphism 和function overloading
转载于:https://www.cnblogs.com/HIT-ryp/p/10607281.html
雨课堂知识点总结(十一)相关推荐
- 雨课堂知识点总结(十七)
8.4 动态性能分析方法与工具 1. 以下关于Dynamic Program Analysis的说法,不正确的是__ A 根据程序执行的过程与结果,分析代码在时空性能方面所展现出的性质 B 对程序执行 ...
- 雨课堂知识点总结(七)
3.1 1.Java中的Primitive Type(int,char,boolean等)和Object Type(String,Boolean,Calendar)的差异是 前者在Stack中分配内存 ...
- 雨课堂知识点总结(十二)
3.5 Equality 1. ADT的equals( )需要满足的三个性质是[填空1]性.[填空2]性. [填空3]性 答案: 自反性;对称性;传递性; 2. 以下针对ADT等价性的说法,不正确的是 ...
- 雨课堂知识点总结(二十)
8-2 内存性能与垃圾回收 第一题 关于内存管理的三种模式(static.stack.heap) ,不正确的是 A Static在编译阶段为各变量分配内存,不支持运行时变量扩展内存,但支持运行时为新变 ...
- 雨课堂知识点总结(十三)
5.1可复用性 1. Programming for reuseProgramming with reuse二者的区别: for:开发可复用的软件;with:用可复用的软件开发自己的软件 for:难点 ...
- 雨课堂知识点总结(十八)
10-1 Concurrency 第一题 以下是计算机系统中的concurrency现象? A手机上的一个App通过5G网络访问云端数据 B四核CPU,执行多道程序 C使用Observer设计模式的J ...
- 雨课堂知识点总结(八)
3.1(B) 1,关于mutable和immutable的说法正确的是: 所有的简单数据类型和所有相对应的封装类(Integer,Double,Boolean等)都是immutable的 所有数组都是 ...
- 雨课堂知识点总结(十)
3.3ADT 1.类WordList有四个方法,根据其方法定义来确定其类型 <1>public WordList(List<String> words) <2>pu ...
- 雨课堂知识点总结(九)
3.2 Specification 1.两个方法具有"行为等价性(behavior equivalence)": 站在客户端的角度看,它们实现相同的功能 站在客户端的角度看,它们可 ...
最新文章
- 用通配符解决mappingResources的繁琐配置
- 神经网络权重与核子的波函数
- python程序占用内存高_如何优化Python占用的内存,面试必学
- 用C#在STM32上写第一个Hello world
- 天地图专题七:行政区域标记,热力图(以广西为例)
- js创建对象的多种方式及优缺点
- 激光雷达点云数据处理一(Terrasolid软件安装)
- G - Power Strings
- raid0 trim linux,6系主板泪流满面,终于支持RAID 0模式下的TRIM了
- 施一公:优秀的科学家如何成长?
- 街篮最新服务器,街头篮球各区的服务器IP多少
- Excel数据分析(八)图表
- 注册中心开源方案选型
- python爬高德地图_【爬虫】Java关于高德地图爬取数据
- 解决酷比魔方iwork手写板系列TF卡以及USB3.0不识别的问题
- 【转】如何用Word编辑参考文献
- mac safari无法打开网页_苹果手机浏览器打不开网页怎么办?Safari无法打开网页的解决方法...
- 计算机教师工作事迹介绍,先进个人 信息技术老师先进事迹.doc
- 虚幻4脱坑指南——官网C++编程教程中第一人称设计游戏教程的若干问题及解决方法
- android平台下OpenGL ES 3.0使用GLSurfaceView对相机Camera预览实时处理
热门文章
- qq网名:請喊莪ナ姵
- java影射射射...
- PPTV面试算法思考-最长对称子字符串
- 【Linux】lftp客户端使用详解
- 计算机报名为什么说我没有在系统用户中注册,硕士研究生网上报名常见问题汇总...
- CVPR 2020 | 《Learning to Transfer Texture from Clothing Images to 3D Humans》 论文解读
- 交通银行上海分行信息部总经理吴宇:大数据助力”互联网+金融”发展
- 使用Win32DiskImager写入U盘容量变小,提示格式化。恢复U盘原本容量方法
- 最大的幻术-游戏开发-我的游戏构思-环境
- 【点云处理之论文狂读前沿版7】—— Masked Autoencoders for Point Cloud Self-supervised Learning