JAVA面向对象

面向对象和面向过程的区别

在这里插入图片描述

什么是面向对象

在这里插入图片描述

方法的调用

静态方法
在这里插入图片描述

非静态方法
在这里插入图片描述
加与不加static的区别
在这里插入图片描述
创建对象,new Student()就创建了对象,然后赋给xiaomingzhege对象
在这里插入图片描述


在这里插入图片描述
构造器(构造方法)
一个类即使什么都不写,它也会存在一个方法

在这里插入图片描述
在这里插入图片描述
有参和无参构造
new的本质是在调用构造器

一旦定义了有参构造,无参构造就必须显式定义。
在这里插入图片描述
alt+insert快捷键生成构造器
在这里插入图片描述


在这里插入图片描述
解释:方法或者变量名在栈区,实例的对象在堆区,类和静态在方法区。


引用就是除了8大基本类型外的数据类型统统默认为null
在这里插入图片描述
在这里插入图片描述


继承

extends 扩展的意思,子类是父类的扩展。
JAVA中的继承只能单继承,不能多继承

学生类继承了人类
在这里插入图片描述
可以将属性设为private私有的,利用set/get操作
在这里插入图片描述
鼠标点在类里面,然后ctrl+h 打开继承树
在这里插入图片描述
JAVA中所有的类的直接或间接的继承Object
如图是直接继承
在这里插入图片描述

super

super是父类
在这里插入图片描述
私有的无法被继承,实际是继承了不能访问。
在这里插入图片描述
子类构造器实际隐含父类构造器super();
定义一个子类对象时,先调用父类构造器,再调用子类构造器。
super调用父类的构造方法,必须在构造方法的第一个。
在这里插入图片描述
在这里插入图片描述

重写

不能重写父类的属性,只能重写父辈的方法。
重写要求
1.方法名必须相同
2.参数列表必须相同,(重载是同一个方法里且参数列表不相等等。)
3.修饰符:范围可以扩大,例如父类是protected ,子类可以是public
范围public>protected>default>private
4.抛出的异常,范围可以被缩小,但不能被扩大,ClassNotFoundException(较小范围的异常)–>Exception(大范围的异常)

为啥需要重写!
父类的功能子类不一定需要,或者不一定满足,故需要重写。

重写快捷键AIt+Insert :overide

静态方法(含static),注意结果输出区别,这个不算重写。
在这里插入图片描述

非静态的才叫重写
在这里插入图片描述

多态

多态是方法的多态,属性没有多态。

父类不能调用子类独有的方法,子类重写过的方法,父类调用该方法时要用子类的方法。
在这里插入图片描述
三种条件下不能重写,
含有:
1.static 方法,属于类,但不属于实例
2.final 常量
3.private 方法

instanceof

instanceof是Java的一个保留关键字,左边是对象,右边是类,返回类型是Boolean类型。它的具体作用是测试左边的对象是否是右边类或者该类的子类创建的实例对象,是,则返回true,否则返回false

static关键字详解

静态代码块只执行一次,
静态代码块先执行,匿名代码块在执行,最后构造器(构造方法)再执行。
在这里插入图片描述

在这里插入图片描述

静态导入包,可以使得以后不用再写Math.random()中的Math

在这里插入图片描述
在这里插入图片描述

抽象类

抽象类
在这里插入图片描述
继承抽象类的子类要把抽象类的所有方法实现,除非这个类还是抽象类。
在这里插入图片描述
抽象类的特点,
1、抽象类不能被new,只能靠子类去实现它。
2、抽象类中可以不写抽象方法,写普通的方法。
3、抽象方法必须在抽象类中。

接口

声明类的关键字是class,声明接口的关键字是interface。
接口只有规范在这里插入图片描述
接口中所有定义的方法其实都是抽象的
例:public abstract。
接口里定义常量就是静态的常量
在这里插入图片描述

在这里插入图片描述
接口都要有实现类
实现接口的类需要重写接口中的方法。
利用接口可以实现多继承
在这里插入图片描述
接口不能被实例化,因为接口中没有构造方法

内部类

通过外部类来实例化内部类
在这里插入图片描述
一个java文件中可以有多个class类,但只能有一个public class类

方法里的变量是局部变量,方法里的类是局部内部类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值