一.Java 面向对象

  1. 面向对象都有哪些特性以及 你对这些特性的理解

    1.1. 继承: 继承是从已有类得到继承信息创建新类的过程. 提供继承信息的类被称为父类(超类,基类);得到继承信息的类被称为子类(派生类).继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段.

    1.2. 封装: 封装是指把访问操作数据库细节进行隐藏, 只向外提供特定的接口.

    1.3. 多态: 用同样的对象引用调用同样的方法但是做了不同的事情. 多态性分为 编译时的多态性 和 运行时的多态性. 方法重载(overload)实现的是编译时的多态性(也成为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做 两件事:1. 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2. 对象造型(用父类型引用引用子类型对 象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

    1.4. 抽象: 抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么.

  注意:默认情况下面向对象有 3 大特性,封装、继承、多态,如果面试官问让说出 4 大特性,那么我们就把抽象 加上去。

  2. 访问权限修饰符 public protected (default) private ,以及不写(默认)时的区别:

    2.1.   修饰符   当前类   同 包   子 类   其他包

        public    √     √     √     √

        protected   √     √     √     ×

        default     √     √     ×     ×

        private     √     ×     ×     ×

  3. 如何理解clone对象

    3.1 为什么要用clone?

最新文章

  1. WinForm下增加声音提示
  2. Jquery 防止页面刷新
  3. CDOJ 1437 谭松松的旅游计划 Label:倍增LCA && 最短路
  4. 解决Mac Chrome打开HTTPS证书错误问题
  5. lintcode :Trailing Zeros 尾部的零
  6. .NET(C#):灵活运用CryptoStream,加密不是必须用CryptoStreamMode.Write
  7. Java Web学习笔记-Servlet不是线程安全的
  8. easyui总结
  9. 关于float与double
  10. CSS 四个样式表格
  11. 不合规范的html段落php处理细则
  12. 常用类型转换 一.常用int和string类型转换
  13. Ninject之旅之十三:Ninject在ASP.NET MVC程序上的应用(附程序下载)
  14. 使用VsCode编写和调试.NET Core项目
  15. 推荐系统架构-(附ppt&代码)
  16. Python操作Excel, 开发和调用接口,发送邮件
  17. Zookeeper 分布式机器部署
  18. xlrd模块;xlwt模块使用,smtp发送邮件
  19. SpringBoot使用validator校验
  20. screen对象和history对象

热门文章

  1. Linux环境下软件安装
  2. 五、在事务中使用Mybatis缓存的那些坑
  3. Ubuntu16.04配置vncserver后 导致重复进入登陆界面,无法进入桌面的问题
  4. 【gradle】【maven】gradle 转 maven pom.xml
  5. ILSpy C# language support status
  6. Memcached 在Windows和Linux的安装和使用
  7. Json+Ajax相关
  8. Ironic 裸金属管理服务的网络模型
  9. [笔记] Delphi使用DUnitX做单元测试的简单例子
  10. MySQL使用order by field()自定义排序