JAVA 面向对象编程

12 Nov 2020

面向对象编程

面向对象编程的概念

类和对象的概念

类的定义

class ClassName {
classBody;

}

注意:当类名由多个单词组成时,每个单词首字母大写

对象的创建

new ClassName();

注意: a. 使用new关键字创建该类的对象,这个过程叫做类的实例化
B. 创建对象的本质就是在内存空间的堆区申请一块空间,用于存放对象独有的特征信息

引用的定义

使用引用数据类型定义的变量叫做引用型变量,指向堆区地址的一个变量

static

使用static关键字修饰的成员变量,不再属于对象,它属于类,每个类共用一个static变量,多个对象都可以共享这份数据

static 修饰的是静态成员,也叫类成员


构造块与静态代码块

单例设计模式

在某些特殊场合中,一个类对外提供且只提供一个对象时,这样的类叫 做单例类,而设计单例的流程和思想叫做单例设计模式。

创建单例

public class Singleton {
// 避免被外部更改
private static Singleton instance = new Singleton();

// 禁止使用构造方法  
private Singleton() {  
}  
  
// 返回单例  
public static Singleton getInstance() {  
    return instance;  
}   }  

封装

概念

** 封装是为了避免外部直接修改对象的成员变量值

实现流程

  1. 私有化成员变量,加private
  2. 提供公有的get和set方法,并在方法体中进行合理值的判断。
  3. 在构造方法中调用set方法进行合理值的判断。

private, public,默认权限

private只能在类内部使用
public可以在外部使用
什么都不写是默认权限,在private和public之间

JavaBean

JavaBean是一种Java语言写成的可重用组件,其它Java 类可以通过反射机
制发现和操作这些JavaBean 的属性。

本质

JavaBean本质上就是符合以下标准的Java类:

继承

当多个类之间有相同的特征和行为时,可以将相同的内容提取出来组成 一个公共类,让多个类吸收公共类中已有特征和行为而在多个类型只需 要编写自己独有特征和行为的机制,叫做继承。

在Java语言中使用extends(扩展)关键字来表示继承关系。

class Children extends Father

使用继承提高了代码的复用性,可维护性及扩展性,是多态的前提条件。

final

访问权限

package语句的由来

定义类时需要指定类的名称,但如果仅仅将类名作为类的唯一标识,则 不可避免的出现命名冲突的问题。这会给组件复用以及团队间的合作造 成很大的麻烦!

方法递归调用

特点

重写override

从父类中继承下来的方法不满足子类的需求时,就需要在子类中重新写 一个和父类一样的方法来覆盖从父类中继承下来的版本,该方式就叫做 方法的重写(Override)

多态和特殊类

多态

同一种事物表现出来的多种形态

一个大类里边有多个子类,多种实现

比如
饮料:可乐,咖啡,水。。。

抽象类

iOS 没有
抽象类主要指不能具体实例化的类并且使用abstract关键字修饰,也就是 不能创建对象。

是可以实现一部分功能,留一部分给子类实现

接口 interface

接口就是一种比抽象类还抽象的类,体现在所有方法都为抽象方法

interface MyInterface {  
	…  
}  

特殊类

内部类

当一个类的定义出现在另外一个类的类体中时,那么这个类叫做内部类 (Inner),而这个内部类所在的类叫做外部类(Outer)。

枚举

注解