Java面向对象总结

一、java面向对象


二、封装

通过该类提供的方法来实现对隐藏信息的操作和访问。

隐藏对象的信息

留出访问的接口

修改属性的可见性(private)→创建getter/setter方法(设为public用于属性的读写)→可以在getter/setter方法中对于数据的获取和赋值进行一些逻辑设定

(一)包

(二)static

static+属性

    静态属性、类属性

static+方法

    静态方法、类方法

static+类

    不存在静态类

static+方法内局部变量

    不存在方法中的静态局部变量

static+代码块

    普通代码块:存在于方法内

    构造代码块:存在于类中

    静态代码块:static+构造代码块

(三)注意问题:

1、静态成员的生命周期

    随着类的加载而产生,直到类的消亡才回收,生命周期长

2、静态方法中的成员调用

    静态方法中只能直接调用同一个类中的静态成员,不能直接访问同一个类中的非静态成员

    只能通过对象实例化后,对象.成员方法的方式访问非静态成员

3、各种代码块的执行顺序

    无论你实例化多少个对象,静态代码块只会执行一次,构造代码块在每次对象构造的时候调用,方法中的普通代码块在每次调用方法时顺序调用


三、继承(上)

概念:

1、一种类与类之间的关系

2、使用已存在的类的定义为基础建立新类

3、新类的定义可以增加新的定义或者新的功能,也可以用父类的功能,但不能选择性的继承父类

4、满足“A is a B”的关系

特点:

1、利于代码服用

2、缩短开发周期

语法:

1、使用extends实现

2、单一继承,只能有一个父类

继承后的初始化顺序

父类静态成员→子类静态成员→父类对象构建→子类对象构建

(一)super

可以通过super关键字来访问父类的成员

1、访问父类成员方法(super.成员方法)

2、访问父类属性(super.属性)

3、访问父类构造方法(super())


1、子类的构造过程中必须调用其父类的构造方法,默认调用无参的构造方法

2、如果子类的构造方法中没有显式标注,父类中又没有无参的构造方法,则编译出错

3、使用super调用父类指定构造方法,必须在子类的构造方法的第一行


(二)this pk super

1、this:当前类对象的引用

访问当前类的成员方法

访问当前类的成员属性

访问当前类的构造方法

不能在静态方法中使用

2、super:父类对象的引用

访问父类的成员方法

访问父类的成员属性

访问父类的构造方法

不能在静态方法中使用

构造方法调用时super和this不能同时出现


(三)方法重写 pk 方法重载

1、方法重写:

在满足继承关系的子类中

方法名、参数(个数、顺序)、返回值与父类相同,兼容父类类型

访问修饰符的限定范围大于等于父类方法

2、方法重载:

在同一个类中

方法名相同

参数个数、顺序、类型不同

返回值类型、访问修饰符任意


(四)访问修饰符



四、继承(下)

(一)Object类

Object类时所有类的父类

Java中每个类都可以使用Object中定义的方法

(二)final

1、修饰类表示不允许被继承

2、修饰方法表示不允许被重写,但是可以被继承

3、修饰变量表示不允许被修改

4、修饰引用类型的变量,初始化之后不能指向另一个对象,但指向的对象的内容是可以改变的

5、配合static使用,表示静态的不允许被修改的信息,比如一些配置信息


五、多态





猜你喜欢

转载自blog.csdn.net/zyw2017/article/details/80234300