Java005

学习主题:面向对象初步
学习目标:
1.掌握面向对象的继承
2.掌握方法的重写
3.掌握equals方法和==
4.掌握super关键字
5.掌握封装
1.面向对象三大特征_继承_instanceOf
(1)用你的理解阐述一下什么是继承
继承父类的功能,实现代码的复用,实现类的扩展。
(2)继承一个类,使用什么关键字?一个类能继承多个类么?
extends;不能
(3)如果A继承B ,B继承C,那么A能获得B和C的所有属性和方法么?

(4)继承的好处是什么?
实现代码的复用,以及类的扩展
(5)InstancOf关键字的作用是什么? instanceOf的返回值是什么?
判断左边的对象是否是右边类或者子类所创建的对象 布尔类型
(6)子类对象 instanceOf 父类,返回值是什么?
True
2.继承_方法的重写override_返回值类型问题
(1)为什么需要重写?
当继承的父类的方法不满足自身的要求的时候,需要重写,来用自身的行为替代父类的行为。
(2)构成重写的要素是什么?
方法名,形参列表相同
子类的返回值类型要小于等于父类
子类的访问权限要大于等于父类
3.继承_object类的用法_重写toString方法
(1)什么是object类?
Object类是所有java类的根基类,java的所有对象都拥有着object类的属性和方法,如果没有指明继承对象,那么默认继承为object类
(2)任何一个类都可以使用object类的所有方法和属性,这句话对么?

(3)打印一个对象,其实是在调用这个对象的什么方法?打印出来的是什么?
toString()方法,包名+类名+@+十六进制hashcode
4.继承_equals方法的重写_阅读object和String源码
(1)== 操作符的作用是什么?
比较双方是否相同,如果值相同,则比较地址,两者都相同的话,则返回true。
(2)Object类的Equals方法的作用是什么?
比较双方的hashcode,相同则true,就是比较两者的值是否是相同的。
(3)String类中重写了equals方法了么?为什么?
重写了。Jdk提供的一些类,如string、date、包装类等,重写了object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一类对象且属性相等时(并不一定是相同的对象),返回true否则返回false。
5.继承_super 父类对象引用_继承树追溯问题
(1)Super关键字的作用是什么?
可以使用super关键字来访问父类中被子类覆盖的方法或属性
(2)实例化子类对象之前必先实例化其父类对象,这句话对么?为什么?
对。构造方法第一句总是:super(…)来调用父类对应的构造方法。所以,流程就是:先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。
6.面向对象三大特征_封装的使用_访问控制符
(1)为什么需要封装?
增加代码的安全性,增加代码的复用性。封装细节,便于修改细节的代码,增加可维护性,简化外部调用的代码,方便调用者使用。高内聚,低耦合。
(2)什么是高内聚,低耦合?举生活中的例子说明.
类的内部操作细节自己完成,不让外部干涉,简化外部,便于调用。例如app,只需要知道功能,不需要了解它是怎么运作的。
(3)有哪几种访问控制符?它们的访问权限分别是?
Private:在本类中使用
Default:在本包中使用
Protected:在本包以及其他包的子类可以使用
Public:在本项目的所有包可以使用
学习主题:面向对象初步
学习目标:
1 掌握什么是javabean
2 掌握什么是多态以及向上向下转型
3 掌握final关键字
4 掌握数组的声明,初始化,遍历
1.封装_使用细节_javabean的规则
(1)Javabean的作用是什么?
用来设置数据的属性和一些行为,提供获取属性和设置属性的get/set方法
(2)Javabean的三个要素是什么?
属性,方法,事件
(3)子类可以使用父类的私有属性和方法么?
可以,设置set,get方法来供给子类访问
2.面向对象的三大特征_多态_多态的三个必要条件
(1)怎么理解多态?属性有多态么?
同一方法调用,对象不同,可能表现得行为不一样。
没有
(2)多态的三个必要条件是什么?
继承,方法重写,父类引用指向子类对象
(3)课上的代码敲两遍,好好理解什么是多态
3.对象的转型_向上转型_向下强制转型_ClassCastException处理
(1)子类对象可以使用父类的引用接收么?需要强制转型么?
可以;不需要
(2)ClassCastException是什么错误?
类型转换错误
4.Final修饰变量和方法和类
(1)Final修饰变量会怎么样?
被它修饰的变量不可变化,一旦被赋予初始值,就不能重新赋值
(2)Final修饰方法会怎么样?
该方法不可被子类重写,但是可以重载
(3)Final修饰类会怎么样?
不能被继承
5.数组的使用_内存状态_动态初始化和遍历_数组越界异常
(1)数组是什么?
相同类型数据的有序集合
(2)数组的特点是什么?
长度是确定的,一旦长度被确定,就不可改变
数组里放的是相同类型的元素
可以是任何数据类型
(3)声明数组的两种方式是什么?
Type arr_name[]=
Type[] arr_name=
(4)数据的下标从几开始?数组的长度如何求出?如何遍历数组?
0;length;for1=0;i<a.length;i++
6.数组的三种初始化方式_静态初始化_动态初始化_默认初始化
(1)写出数组静态初始化的代码
Int[] a={1,2,3};
(2)写出数组动态初始化的代码
Int[] a=new int[2];
a[0]=1;
a[1]=9;

(3)什么是默认初始化?
int a=new int[2]//默认值为0,0
7.数组的遍历_foreah循环
(1)除了for循环可以遍历数组外,还有什么可以遍历数组?
增强for循环
(2)Foreach可以修改数组中的值么?for循环可以修改数组中的值么?
不能修改;可以修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值