手记
下载APP

JAVA难点------------面向对象知识点总结

**

面向对象笔记


成员变量和局部变量的区别:
1.作用域不同:
局部变量的作用域只限于定义它的方法;
成员变量的作用域在整个类的内部都是可见的;
2.初始值不同:
Java会给成员变量一个初始值;
Java不会给局部变量赋予初始值;
3.在同一方法中不允许有同名局部变量;在不同方法中允许有同名局部变量;
4.两类变量同名时,局部变量有更高的优先级。
构造方法:
1.使用new+构造方法创建一个对象;
2.构造方法是定义在java类中用于初始化对象的方法;
3.构造方法与类同名且没有返回值;
4.当没有指定构造方法时,系统会自动添加无参的构造方法;
5.当有指定的构造方法时,无论是有参的还是无参的构造方法,系统都不会添加无参的构造方法;
6.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。
面向对象的特性
1.封装:
(1)概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提 供的方法来实现对隐藏信息的操作和访问。
(2)好处:a.只能通过规定的方法访问数据;
b.隐藏类的实例细节,方便修改和实现。
(3)实现步骤:修改属性的可见性(设为private);
创建setter/getter方法(用于属性的读写);
在setter/getter方法中加入属性控制语句(对属性值的合法性进行判断)。
Java中的this关键字
1.this关键字代表当前对象
this.属性 操作当前对象的属性
this.方法 操作当前对象的方法
2.封装对象的属性时,经常会使用到this关键字。
2.继承:**
(1)概念:继承是类与类的一种关系,是一种“is a”的关系;
注意:java中的继承是单继承。
(2)好处:子类拥有父类的所有属性和方法(private除外)
实现了代码复用。
(3)语法规则:class 子类 extends 父类

方法的重写:
1.什么是方法的重写:
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。
2.语法规则:
A.返回值类型;
B.方法名;
C.参数类型及个数;
都要与父类继承的方法相同,才叫方法的重写。
继承的初始化顺序:
1.初始化父类再初始化子类;
2.先执行初始化对象中属性,再执行构造方法中的初始化;
final关键字
使用final关键字做标识有“最终的”含义。
final可以修饰类、方法、属性和变量
final修饰类,则该类不允许被继承;
final修饰方法,则该方法不允许被覆盖(重写);
final修饰属性,则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)
或在构造方法中赋值(但只能选择其一)
final修饰变量,则该变量的值只能赋值一次,即变为常量。
super关键字:
在对象的内部使用,可以代表父类对象。
访问父类的属性:super.父类属性名;
访问父类的方法:super.父类方法;
super的应用:
1.子类的构造的过程当中必须调用其父类的构造方法。
2.如果子类的构造方法当中没有显示调用父类的构造方法,则系统默认调用父类无参 的构造方法。
3.如果显示的调用构造方法,必须在子类构造方法的第一行。
4.如果子类的构造方法中既没有显式的调用父类的构造方法,而父类又没有无参的构 造方法,则编译出错。
Object类:
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一 个类,那么这个类默认继承Object类。
Object类中的方法,适合所有子类。
Object类中几个重要的方法:
1.toString()方法:
在Object类中定义toString()方法的时候返回的对象的哈希code码(对象地址字符 串)
可以通过重写toString()方法表示出对象的属性。
2.equals()方法:
比较的是对象的引用是否指向同一块内存地址。
一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。
多态:
对象的多种形态。(继承是多态体现的基础)
1.引用多态:
父类的引用可以指向本类的对象;
父类的引用可以指向子类的对象;
2.方法多态:
创建本类对象时,调用的方法为本类方法;
创建子类对象时,调用的方法为子类重写的方法或继承的方法;
引用类型转换:
1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换
2.向下类型转换(强制类型转换),是大类型到小类型的转换
3.Instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题
抽象类:
1.语法定义:
抽象类前使用abstract关键字修饰,则该类为抽象类;
2.应用场景:
A.在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。
B.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3.作用:
限制规定子类必须实现某些方法,但不关注实现细节。
4.使用规则:
A.abstract定义抽象类;
B.abstract定义抽象方法,只有声明不需要实现;(抽象方法没有方法体以分号结束)
C.包含抽象方法的类是抽象类;
D.抽象类中可以包含普通的方法,也可以没有抽象方法;
E.抽象类不能直接创建,可以定义引用变量;
接口:
1.接口的概念:
接口可以理解为一中特殊的类,由全局常量和公共的抽象方法组成。
类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里的方法的实现细节,它只关心这些类里必须提供某些方法。
2.接口定义:
和类定义不同,定义接口不再使用class关键字,而是使用interface关键字。
3.接口定义的基本语法:
[修饰符] interface 接口名[extends 父接口1,父接口2...]{
零到多个常量定义..
零到多个抽象方法定义..
}
接口就是用来被继承,被实现的,修饰符一般建议使用public
注意:不能使用private和protected修饰接口
4.使用接口:
一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。
接口在使用过程当中,还经常与匿名内部类配合使用。
匿名内部类就是没有名字的内部类,
多用于关注实现而不关注实现类的名称。

打开App,阅读手记
81人推荐
随时随地看视频慕课网APP