1. 面向对象三大特征_继承_instanceOf

(1) 用你的理解阐述一下什么是继承

子类通过继承父类来获得父类的方法和属性,本质上是一种包含和扩展的关系

(2) 继承一个类,使用什么关键字?一个类能继承多个类么?

Extends 不能,Java中类只有单继承,子类只能有一个直接父类。

(3) 如果A继承B ,B继承C,那么A能获得B和C的所有属性和方法么?

(4) 继承的好处是什么?

继承可以更好的实现代码的扩展,也能通过高度的概括和严谨的分类来大大简化代码量,提高代码的重用性。

可以使用ctrl+T来快速查看继承结构

(5) InstancOf关键字的作用是什么? instanceOf的返回值是什么?

InstanceOf是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象是,返回true;否则,返回false。

(6) 子类对象 instanceOf 父类,返回值是什么?

true

2. 继承_方法的重写override_返回值类型问题

(1) 为什么需要重写?

子类通过重写父类的方法,可以用自身的行为替换为父类的行为。

(2) 构成重写的要素是什么?

1、“==”:方法名、形参列表相同;

2、“<=”:返回值类型和声明异常类型,子类小于等于父类;

3、“>=”:访问权限,子类大于等于父类。

3. 继承_object类的用法_重写toString方法

(1) 什么是object类?

Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。

(2) 任何一个类都可以使用object类的所有方法和属性,这句话对么?

对的

(3) 打印一个对象,其实是在调用这个对象的什么方法?打印出来的是什么?

toString()方法。打印出来的是 包名类名@十六进制表示的对象地址

4. 继承_equals方法的重写_阅读object和String源码

(1) == 操作符的作用是什么?

“==”代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。

(2) Object类的Equals方法的作用是什么?

Object类中定义有:public boolean equals(Object obj)方法,提供定义“对象内容相等”的逻辑。

(3) String类中重写了equals方法了么?为什么?

重写了。因为String类的equals方法比较的是字符串的内容而不是字符串对象的地址。

5. 继承_super 父类对象引用_继承树追溯问题

(1) Super关键字的作用是什么?

supers是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。

(2) 实例化子类对象之前必先实例化其父类对象,这句话对么?为什么?

对的。因为子类的构造方法第一句都是默认super();引用父类构造方法,所以创建子类对象的时候会先调用父类对象的构造方法,实例化其父类对象。

6. 面向对象三大特征_封装的使用_访问控制符

(1) 为什么需要封装?

1、提高代码的安全性;

2、提高代码的复用性;

3、“高内聚”:封装细节,便于修改内部代码,提高可维护性;

4、“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。

(2) 什么是高内聚,低耦合?举生活中的例子说明.

高内聚就是内部数据操作细节自己完成不允许外界干涉

低耦合是仅暴露少量的方法给外界使用,尽量方便外部使用

比方说电视机,内部有何种线路和部件,电路错综复杂,这就是高内聚。外面只有几个按钮来方便用户来使用,这就是低耦合。

(3) 有哪几种访问控制符?它们的访问权限分别是?

Private:同一个类;

Default(默认):同一个类、同一个包中

Protected:同一类、同一包、其他包的子类

Public:同一类、同一包、子类、所有类

封装 encapsulation

1、属性一般私有private,设置set get方法来方便外部访问及调用;

2、提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:boolean变量的get方法是is开头)。

3、一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰。

7. 封装_使用细节_javabean的规则

(1) Javabean的作用是什么?

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

(2) Javabean的三个要素是什么?

javabean的三要素:属性、方法、事件

(3) 子类可以使用父类的私有属性和方法么?

可以。通过set get方法来实现。

8. 面向对象的三大特征_多态_多态的三个必要条件

(1) 怎么理解多态?属性有多态么?

多态 polymorphism 指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。

(2) 多态的三个必要条件是什么?

继承、方法重写、父类引用指向子类对象

(3) 课上的代码敲两遍,好好理解什么是多态

9. 对象的转型_向上转型_向下强制转型_ClassCastException处理

(1) 子类对象可以使用父类的引用接收么?需要强制转型么?

可以,不需要强制转型。

(2) ClassCastException是什么错误?

在向下转型过程中,必须将引用变量转成真实的子类类型(运行时类型),否则会出现类型转换异常ClassCastException。

10. Final修饰变量和方法和类

(1) Final修饰变量会怎么样?

被final修饰的变量不可改变。一旦赋了初值,就不能被重新赋值。

(2) Final修饰方法会怎么样?

final修饰方法则该方法不可被子类重写。但是可以被重载。

(3) Final修饰类会怎么样?

修饰的类不能被继承。比如:Math、String等。

11. 数组的使用_内存状态_动态初始化和遍历_数组越界异常

(1) 数组是什么?

数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次讯排列组合而成。其中,每一个数据称为一个元素,每个元素可以通过一个索引(下标)来访问它们。

(2) 数组的特点是什么?

1、长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

2、其元素必须是相同类型,不允许出现混合类型。

3、数组类型可以是任何数据类型,包括基本类型和引用类型。

(3) 声明数组的两种方式是什么?

Type[] array name 最常使用

Type array name[] 不经常使用

(4) 数据的下标从几开始?数组的长度如何求出?如何遍历数组?

从0开始。数组名.length可求出数组长度。

通过for(int i = 0; i < arr.length;i++){

System.out.println(arr[i]);

}

12. 数组的三种初始化方式_静态初始化_动态初始化_默认初始化

(1) 写出数组静态初始化的代码

int[] arr = {1,2,3};

(2) 写出数组动态初始化的代码

int[] arr = new int[3];

arr[0] = 1;

arr[1] = 2;

arr[2] = 3;

(3) 什么是默认初始化?

int[] arr = new int[3];默认给数组的元素赋值。赋值的规则和成员变量默认赋值规则一致。

13. 数组的遍历_foreah循环

(1) 除了for循环可以遍历数组外,还有什么可以遍历数组?

for-each循环

(2) Foreach可以修改数组中的值么?for循环可以修改数组中的值么?

for-each循环用于读取数组中的值,不能修改数组中的值。因为foreach循环里没有引用下标。

For(int m:arr){

System.out.println(m);

}

for循环因为可以引用下标,所以可以修改数组中元素的值。

strcmp可以比较数组么_005 继承、封装、多态及数组初识相关推荐

  1. 面向对象之三大特性:继承,封装,多态

    python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分 ...

  2. java 继承 封装 多态 详解

    1.继承 1.1子类能够继承父类的哪些成员? 1.1.1 public 成员 1.1.2 protected 成员 1.1.3 同一个包中:缺省访问类型的成员 1.1.4 打死不能继承private成 ...

  3. 继承 封装 多态 (基础)描述性理解

    面向对象程序设计具有:封装性,继承性,多态性. 1封装 封装是面向对象编程的核心思想.将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想.例如我们使用的电脑,电视, ...

  4. JavaScript 继承 封装 多态实现及原理详解

    封装 就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 封装是面向对象的特征之一,是对象和类概念的主要特性. 简单的说,一个类就是一个封装了 ...

  5. 本质论之封装继承和多态的介绍

    关于 类,我有一些话想说 说到类那就说到了面向对象的灵魂了,没有它也就没有了封装.继承and多态这些东西了.我还记得在读研期间每次看到这些都望而却步,甚至我搞不懂对象和类的区别(这里防止有人也不知道区 ...

  6. 前端 JavaScript 设计模式前奏--面向对象-封装、继承、多态

    JavaScript 面向对象 如图所示: 1. 什么是面向对象 1. 面向对象的概念 2. 面向对象的三要素: 继承/封装/多态 ⭐️ 3. JS 的应用举例 4. 面相对象的意义 --- 数据结构 ...

  7. Go 学习笔记(36)— 基于Go方法的面向对象(封装、继承、多态)

    Go 面向对象编程的三大特性:封装.继承和多态. 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式 继承:使得子类具有父类的属性和方法或者重新定义.追加属性和方法等 多态:不同对象中同种行为的不 ...

  8. 初步理解Java的三大特性——封装、继承和多态

    声明:整理自网络,如有雷同,请联系博主处理 一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 ...

  9. Java基础篇:封装、继承、多态三大特性

    目录: 一.Java三大特性之:封装 二.Java三大特性之:继承 三.Java三大特性之:多态 一.Java三大特性之:封装 1.什么是封装: 封装,就是将数据和基于数据的操作封装在一起,数据被保护 ...

最新文章

  1. jquery选择器 之 获取父级元素、同级元素、子元素
  2. 安卓系统挂载NTFS格式硬盘_苹果电脑挥之不去的烦恼!怎样兼容NTFS格式的U盘移动硬盘?...
  3. 外威客外包网站Elance
  4. 我用Vue2全家桶重写「daza.io」的前端
  5. python学习笔记——Day 3
  6. Spring MVC Rest 客户端 RestTemplate 详解
  7. linux怎么备份文件夹命令,linux环境文件备份命令
  8. wifi技术扫盲-MIMO
  9. 维护两个互斥的定价条件
  10. 【经验帖】深度学习如何训练出好的模型
  11. 【续】数学模型——人口增长模型
  12. Lyx的安装流程(windows10系统)及配置中文环境
  13. 数字电视图像相关的基本概念
  14. 【目标检测·yolo系列】YOLOV3目标检测论文笔记(参考 同济子豪兄的解读)
  15. Post方法如何接受数组
  16. 虚拟现实:认识VR、AR、全息影像和全景视频的涵意
  17. vc830l 说明书_数字万用表vc830l视频教程 视频
  18. nfs服务器随机读写性能,NFS服务详细分析
  19. 大数据可视化python_5种Python绘图库,轻松实现大数据可视化!
  20. MATLAB与高等数学--获得渐进线

热门文章

  1. [flask实践] 解决mysql数据库不支持中文的问题
  2. java.sql.SQLException: Column ‘class‘ not found.异常没有找到列
  3. js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable
  4. 【手记】解决启动SQL Server Management Studio 17时报Cannot find one or more components...的问题
  5. python报错UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe8 in position 0 解决方案
  6. kafka集群broker频繁挂掉问题解决方案
  7. python 自定义异常
  8. 共享打印机出错,错误代码0x00000bcb解决方法汇总
  9. 使用CSS对页面加载的淡入效果
  10. Java Persistence API中的FetchType LAZY和EAGER之间的区别?