写点什么

干货!5 年码农带你深入了解 Java 面向对象,撸完青铜逆袭变王者

发布于: 3 小时前
干货!5年码农带你深入了解Java面向对象,撸完青铜逆袭变王者

今日分享开始啦,请大家多多指教~

一、什么是面向对象?

面向对象编程(Object-Oriented Programming, OOP)面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

面向对象的三大特征:

封装

该露的露,该藏的藏。

我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。

封装(数据的隐藏)

通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。

记住这句话就够了:属性私有,get/set

作用:

  • 提高程序的安全性,保护数据,隐藏代码的实现细节

  • 统一接口

  • 系统可维护增加了


继承

extands :扩展,子类是父类的扩展

//student 学生类 学生也是人 继承 person 类

public class Student extends Person {

}

给你一些小钱

100

object

!!PS:所有的类都默认继承 object 类

super

子类通过 super 来访问父类的属性



我是 student 无参构造器输出

我是 person 无参构造器输出

天龙真人表示这里是 person 有参构造器输出

多态

通过父类运用子类

子类重写了父类的方法,执行子类的方法

实例:



this is Student run~

this is Student run~

多态是方法的多态,属性没有多态父类和子类,有联系类型转换异常!

存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();

instanceof


false

true

true

true

引用传递小实例:

null

爱好者

二、类和对象的创建

使用 new 关键字创建对象:

使用 new 关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

构造器:

  • 和类名相同,没有返回值

  • new 本质就是调用构造器

  • 初始化对象的值

实例:


爱好者

18

抽象类和接口

抽象类

//abstract 抽象类

public abstract class Action {

public abstract void doSomething();

}

//不能 new 这个类,不能实例化

//只能靠子类去 new 它和实现它,相当于一个约束

//ps:不过抽象类讷讷感写一些普通方法,必须在抽象类中

接口

接口都需要有实现类~

接口不能被实例化,没有构造器

里面的常量都是默认是静态的:public static final

必须在类中重写接口的的方法


三、内部类

直接上代码:


内部类~

10

四、Error 和 Exception

错误:Error

错误 ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

异常:Exception

运行时异常(RuntimeExceotion)

ArraylndexOutOfBoundsException(数组下标越界)NullPointerException(空指针异常)

ArithmeticException(算术异常)

MissingResourceException(丢失资源)

ClassNotFoundException(找不到类)等异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。

try-catch-finally

catch:捕获异常

来个简单小实例:

不合法

finally 是必须执行的~

ps:快捷键~~~Ctrl + Alt + t

主动抛出异常:

throw throws

b 不能为 0!!

java.lang.Exception

at com.niit.Exception.testDemo01.test(testDemo01.java:22)

at com.niit.Exception.testDemo01.main(testDemo01.java:12)

今日份分享已结束,请大家多多包涵和指点!

用户头像

还未添加个人签名 2021.04.20 加入

Java工具与相关资料获取等WX: gsh950924(备注来源)

评论

发布
暂无评论
干货!5年码农带你深入了解Java面向对象,撸完青铜逆袭变王者