"Java面向对象的知识总结" 在Java编程中,面向对象是核心特性之一,它使得代码更具有可读性、可维护性和复用性。以下是对Java面向对象主要知识点的详细阐述: 1. 封装:封装是面向对象三大特性之一,它通过将数据(变量)和操作数据的方法(函数)捆绑到一起,形成一个独立的对象。例如,我们可以创建一个类(class),定义私有变量(private)并通过公有的getter和setter方法来访问和修改这些变量。 2. 继承:继承允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的重用。子类可以覆盖或扩展父类的方法,这在多态性中起着关键作用。在Java中,一个类可以继承一个父类,但不能多重继承,可以通过接口(interfaces)实现多继承的效果。 3. 多态性:多态性是指同一种行为可以有多种不同的表现形式。Java中的多态性体现在方法的重载(overloading)和重写(overriding)。方法重载是指在同一个类中,方法名相同但参数列表不同的方法。而方法重写是指子类对父类已有的方法进行重新定义,保持方法名和参数列表不变,但可以改变其实现。 4. 访问修饰符:Java提供了四种访问修饰符:private、默认(包访问)、protected和public。它们决定了类的成员(变量和方法)在哪些范围内可见。访问控制的优先级是:private < 默认 < protected < public。在继承中,子类可以访问父类的非私有成员。 5. final关键字:final用于声明不可变的对象、变量和方法。如果一个类被声明为final,那么它不能被继承;如果一个方法被声明为final,它不能被子类重写;如果一个变量被声明为final,它的值一旦赋值就不能改变。 6. abstract类与接口:抽象类(abstract class)是不能实例化的,它通常包含抽象方法(没有具体实现的方法)。子类必须实现所有抽象方法才能实例化。接口(interface)则是一种完全抽象的类型,它只能包含静态常量和抽象方法,一个类可以实现多个接口,从而实现多继承。 7. 构造器:构造器是用于初始化新创建对象的特殊方法。每个类都有一个或多个构造器,它们的名字必须与类名相同,没有返回类型。构造器在创建对象时自动调用。 8. instanceof运算符:用于判断一个对象是否是特定类或其子类的实例。例如,`a instanceof A`会返回true或false,表示a是否是A类或其子类的对象。 9. 类型转换:Java支持自动类型转换( widening conversion)和强制类型转换(narrowing conversion)。自动转换发生在基本类型之间,从小范围类型到大范围类型。强制转换需要程序员显式指定,并可能在转换过程中丢失数据或抛出异常(如从double转为int时,超出int范围的部分会被丢弃)。 10. equals()与hashCode():Object类提供了默认的equals()方法,用于比较两个对象是否相等,但通常我们需要重写这个方法以满足特定类的比较需求。hashCode()方法用于获取对象的哈希码,通常与equals()方法一起重写,以确保相等的对象具有相同的哈希码。 11. 基本类型与其包装类:Java提供了一些包装类(如Integer、Character等)来包装基本类型,它们提供了更多的功能,如比较、格式化等。此外,Java允许在某些情况下自动将基本类型和包装类进行转换,这种现象称为自动装箱和拆箱。 12. 枚举(Enum):枚举是一种特殊的类,用于定义一组固定的值。枚举可以包含字段、方法和嵌套枚举,提供了安全和易于使用的常量集合。 以上就是Java面向对象编程的主要知识点,理解并掌握这些概念对于编写高质量的Java程序至关重要。
2.子类不能直接访问父类的私有属性,可通过get,set方法间接访问;
3.实例化子类时,先调用父类的构造函数,再调用子类的构造;
4.方法复写:子类定义了和父类同名的方法,被子类复写的方法不能拥有比父类更加严格的访问权限;private<default<public;复写过的方法调用的时候会调用子类的,如果要调用父类的可以super.方法();
5.重载:overloading;方法名称相同,参数类型或个数不同;对权限没有要求;发生在一个类中;
复写:overriding;方法名称参数类型和返回值类型全部相同;被复写的方法不能拥有更加严格的权限;发生在继承类中;
6.final:
使用final声明的类不能有子类;
使用final声明的方法不能被子类所复写;
使用final声明的变量即成为常量,常量不可以修改;
使用static final关键字联合声明的变量称为全局常量;
public static final String INFO="LYC";
在一般开发中,使用final定义常量是最多的;使用static final可以声明全局常量;
7.抽象类:包含一个抽象方法的类就称为抽象类;
抽象方法:只声明而未实现的方法称为抽象方法。抽象类和抽象方法必须使用abstract关键字声明;抽象方法只需要声明不需要实现;抽象类必须被子类继承,子类必须复写抽象类中的全部抽象方法;
抽象类不能直接实例化;
不能使用final声明abstract类;一个虽然抽象类不能直接实例化,但是抽象类是可以存在构造方法的。
8.接口:因为在定义时就已经定义了接口的组成是全局常量和抽象方法,所有可以简写;接口的子类必须复写全部抽象方法,用implements关键字;一个子类可以同时实现多个接口。一个子类可以同时继承抽象类和实现接口:格式如下:class 子类 extents抽象类 implements 接口a,接口b{}。抽象类也可以实现接口;一个接口虽然不能继承抽象类,但是一个接口可以同时继承多个接口;
9.java面向对象中体现多态性主要体现在:方法的重载与复写;对象的多态性;
对象多态性主要分为两种:向上转型,对于向上转型程序会自动完成,格式:父类 父类对象=子类实例;向下转型:必须明确的指明要转型的子类类型,格式:子类 子类对象=(子类)父类实例;如果要产生对象的向下转型,则必须先产生一个向上的转型关系;
10.instanceof关键字:判断一个对象到底是哪个类的实例;a1 instanceof A;如果是返回true,否返回false;在开发中对于向下转型操作最好增加验证保证转型时不会发生异常(ClassCastException);
11.Object类:所有类默认继承自object类,可以复写object类toString方法;
public String toString() {
return this.name + "," + this.age;
}
toString():
equals():
object类不但可以接收对象,还可以接收任意的引用数据类型;
12.包装类:
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 2
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦