什么是面向对象?
面向对象编程:OOP (Java的核心思想就是OOP)
面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
三大特性:封装、继承、多态
属性+方法=类
类和对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述,但是并不能代表某一个具体的事物
对象是抽象概念的具体实例
创建与初始化对象
使用new关键字创建对象
构造器必须要掌握
小结:
1.类与对象
类是一个模板:抽象,对象是一个具体的实例
2.方法
定义,调用
3. 对应的应用
引用类型:基本类型
对象是通过引用来操作的:栈--->堆
4.属性:字段Field成员变量
默认初始化:
数字: 0 0.0
char: u0000
boolean:false
引用:null
修饰符 属性类型 属性名=属性值!
5.对象的创建和使用
-必须使用new关键字创造对象,构造器
Person kuangshen=new Person();
-对象的属性 kuangshen.name
-对象的方法 kuangshen.sleep()
6.类
静态的属性 属性
动态的行为 方法
封装(数据的隐藏)
属性私有 get/set
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统可维护性增加了
继承
extends的意思是“扩展”,子类是父类的扩展
继承关系的两个类:子类和父类。子类继承父类,使用关键字extends来表示
Java中类只有单继承,没有多继承!一个儿子只能有一个爸爸,一个爸爸可以有多个儿子。
super 和 this
super注意点:
1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中!
3.super和this不能同时调用构造方法!
this:
代表的对象不同:
this:本身调用者这个对象
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只有在继承条件才可以使用
构造方法:
this():本类的构造
super():父类的构造!
方法重写
重写:需要有继承关系,子类重写父类的方法!
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但不能缩小: public>Potected>Default>private
4.抛出的异常:范围,可以被缩小,但不能扩大;ClassNotFoundException-->Exception(大)
重写,子类的方法和父类必须一致:方法体不同!
为什么需要重写:
1.父类的功能,子类不一定需要,或者不一定满足!
Alt+Insert: override;
多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式
instanceof
static关键字:
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Text {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}