1:java面向对象
a:继承
b:封装
c:多态
d:抽象
类:抽象 基于相同属性和行为一系列的事物 是对象的模板
对象 :客观存在 类的具体实例
类的定义:
class 类名{
//属性 成员变量
数据类型 属性名;
数据类型 属性名 =值;
int
a =10; //全局变量
//方法 成员方法
void print (){
int
a =30; //局部变量
System.out.println(a); //30;
System.out.println(this.a); //10;
}
}
2:方法的重载 overload
在同一个类中,方法名相同,参数列表不同 与返回值类型无关
参数列表不同包括:参数个数不同
参数类型不同
在调用的时候 系统会根据调用者的参数自动识别该调用的方法
在同一个类中 不允许出现方法名相同 参数列表也相同的方法
也不允许出现方法名相同 参数列表也相同但返回值类型不同的方法
方法的重写 override
在继承关系当中 子类对父类的方法重新实现
3: 特殊方法
构造方法 与类名相同 没有参数
作用:用来实例化对象(给成员变量初始化)
一个类 系统会给它提供一个默认的构造方法
默认的构造方法:与类名相同 没有参数 用new 类名来调用
当一个类提供了带参数的构造方法,系统将不会提供默认的构造方法
但如果开发者想保留默认的不带参数的构造方法的话,必须手工提供默认的构造方法
1.方法名与类名相同
2.没有返回值类型 连void都不能写
构造方法也可以重载,但不能重写
java中金字塔顶端类(最小的细胞类)(超类 Object) 是所有类的祖先类
4.继承:
在一个类(父类)的基础上 去创建一个新的类(子类)
让新创建的类 具有父类的属性与行为
继承 -》 class Son extends Parent{
}
在java中 支持单继承 一个类只能有一个直接父类
但一个类可以有多个子类
5.封装->通过访问修饰符来限制用户的访问权限
通过访问修饰符来修饰属性和方法或者类 ,但是不能用来修饰类 ,
a: 访问修饰符:public 公共的
protected 受保护的
default 默认的 不写
private 私有的
本类 同包其他类 同包子类 不同包子类 不同包的其他类
public T T T T T
protected T T T T F
default T T T F F
private T F F F F
b:判断某个对象是否是类的实例
用
instanceof 关键字
如果是这个类的实例或者是这个类的父类的实例 返回
ture
否则返回false
c:转型
1. 向上转型(new子类对象赋值给父类对象)
向上转型是安全的,但隐藏到自身的属性与方法
2. 向下转型
java中不允许直接向下转型,但可以先向上转型,再向下转型
3.混合类型转换 不能使用