更详细Java面试请点击这里
Java 面向对象必会知识点
Java 的核心是面向对象编程,所有的 Java 程序都是面向对象的。需要看清 Java 的本质,从复杂的表象中寻找普遍的规律,并深刻理解 Java 的核心思想
面向对象的特点总结 具体细节狂戳这里
面向对线程序设计方法的优点是:可重用性,可扩展性,可管理性
- 封装:隐藏在对象的属性和实现细节仅对面提供公共的访问方式。
- 继承:在一个类的基础上定义一个新类,原有的类叫父类,新生成的类叫子类。
- 多态:事物存在多种体现的形态,就是指一个引用(类型)在不同情况下的多种状态。
类与对象特性总结
- 类与对象的概念:
- 类是具体事物的抽象
- 对象是该类实时存在的个体
- 类方法的特点
- 匿名对象:
- 当对象的方法只需使用一次时,这样写代码比较简单
- 再则是将匿名对象作为参数传递
- 构造函数与构造代码块:
- 构造代码块是给所有对象统一初始化的,而构造函数是给对象初始化的
- 构造代码块中定义的是共性的初始化内容
- 接口
- Object 类
变量的特点总结
- 成员变量与局部变量:
- 成员变量定义在类中,随着对象的建立而建立,存在于对象的堆内存中,都有默认的初始化值
- 局部变量只能定义在局部范围内,比如函数内、语句内
- 实例变量与类变量:
- 实例变量随着实例的建立而建立且存在于堆内存中
- 类变量随着类的加载而存在于方法区中
- 静态变量:
- static 关键字修饰具体请狂戳
- 变量的生命周期:
- 类变量的时间最长,随着类的消失而消失
- 实例变量随着对象的消失而消失
Java 面向对象知识点精华
Java 面向对象20个精华知识点
- 抽象、封装、继承、多态是面向对象程序设计中的四个特点
- 面向对象得软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现
- 面向对象程序设计方法的优点是:可重用性、可扩展性、可管理性
- 类的定义:class 前的修饰符分为访问控制符和非访问控制符两大类。访问控制符包括 public 和 private。非访问控制符包括 abstract(抽象)和 final(最终)
- final 类是最终类,是不能有子类的类。abstract 和 final 不能同时修饰一个类。因为抽象类本身没有具体对象,只能派生出子类后创建子类的对象;而最终类不可能有子类
- 创建对象的格式:类名 对象名 = new 构造方法(参数),注意前面是类名后面是构造方法;构造方法主要是用于类对象的初始化工作,必须使用 new 运算符调用
- 如果 class 前面由 public 修饰,则默认的构造方法前面也有 public 修饰
- 类中有 static 修饰符的域或者方法,可用类名或对象访问
- 修饰符的访问控制符可以有:public 、protected 、private、private protected;非访问控制符可以是:static、final、volatile(易失域)
- 类变量的最本质特点是:他们是类的域,不属于类的任何一个类的具体对象实例,共同享用
- 局部变量是在方法体类声明的,只有当方法被调用时他们才存在,因而只能在本方法内使用,不存在访问控制符,也不能声明为静态变量(static),但可以声明为 final 变量。局部变量必须初始化,因为局部变量声明之后,虚拟机就不会自动给它初始化为默认值,局部变量在参与运算前必须进行赋值
- 修饰方法的访问控制符可以是:public 、protected 、private、private protected;修饰方法的非访问控制符可以是:static、final、abstract、native(本地方法)、synchronize(同步方法)
- 用 static 修饰的变量或者方法都为类成员,类成员可以用类名或实例名调用,实例成员只能用实例名调用
- 若一个类中含有抽象方法,则为抽象;如果抽象类的子类不为抽象类,则子类必须实现父类的抽象方法;抽象方法只有函数头的声明,用分号老代替方法体,即没有大括号
- this 变量用在一个方法的内部,指向当前的对象,当前对象指的是调用当前正在执行的方法的那个对象;super 变量是直接指向父类的构造方法,用来引用父类中的变量和方法
- 如果要引用一个包的多个类,可以用 ※号代替;使用 ※只能表示本层次的所有类,而不包括子层次下的类。经常需要两条语句来导入两个层次的类:
import java.awt.※
import java.awt.event.※ - 关于访问修饰符
- 类中限定为 public 的成员可以被所有的类访问
- 类中限定为 protected 的成员可以被本身、子类、以及用一个包下的其他类访问
- 类中限定为 private protected 修饰的成员可以被这类的本身,也可以被这个类的子类访问
- 默认的访问控制符规定只能被同一个包中的类访问引用,不能被其他包的类访问
- 类中限定为 private 的成员只能被这个类本身访问
- 重载方法的参数必须不同,或者是参数个数不同,或者是参数类型不同。重载多个方法必须返回相同的数据类型,且在一个类中。
- 在 Java 中,一个获取某一接口定义的功能并不是直接继承这个接口的属性和方法来实现的。因为接口中的属性都是常量,接口的方法都是没有方法体的抽象方法,没有具体定义操作
- 注意之处
- abstract 和 private、static、final、native 不能并列修饰同一个方法
- abstract 类中不能有 private 修饰的域和方法
- static 方法不能处理非 static 的域