5.面向对象

以类的方式组织代码,以对象的组织(封装)数据

三大特性:

封装:

 

封装:高内聚(类的内部数据操作自己完成) 低耦合(仅暴露少量的方法给外部使用)

 

属性私有,get/set

===================================================

 

继承:本质是对某一批类的抽象  java类中只有单继承 没有多继承 子类是父类的扩展 extends  继承是类和类之间一种关系  子类继承父类用extends

object类:java中所有的类都默认继承object类

super:

注意点:

1.super调用父类的构造方法,必须在构造方法的第一个

2.super必须只能出现在子类的方法或者构造方法

3.super和this不能同时调用构造方法

vs this :

代表的对象不同

this:本身调用者这个对象

super:代表父类对象的应用

前提:

this:没有集成也可以使用

super:只能在集成条件才可以使用

构造方法

this( )本类的构造

super() 子类的构造

===================================

方法重写:需要有继承关系 子类重写父类的方法

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大  public》protected》default>private

4.抛出的异常:范围 可以缩小 但不能扩展  ClassNotFoundException -->Exception(大)

重写 子类方法和父类必须一致  方法体不同

重写都是方法的重写 和属性无关

非静态方法可以重写  重写的关键字是public

为什么需要重写:

1.父类的功能子类不一定需要或者不一定满足

2.alt+insert  override

============================================

多态

对象是具体的事务 类是抽象的。是对对象的抽象

父类的引用指向子类

注意事项:

1.多态是方法的多态,属性没有多态

2.父类和子类 有联系【类型转换异常:ClassCastException】

3.存在的条件:有继承关系 方法需要重写 父类的引用指向子类对象 father f1= new Son();

static 属于类 不属于实例 不能重写

final 是常量  也不能重写

private 修饰的方法 也不能重写

##################

方法定义:

修饰符  返回值类型 方法名(...){

//方法体

return  返回值;

}

break 语句跳出switch,结束循环  return结束方法

 ####################

 

方法调用:

静态方法:static 修饰

非静态方法:

//实例化这个类new

//对象类型 对象名=对象值;

形参和实参

值传递和引用传递:

引用传递是传递一个对象,本质还是值传递

this关键字

###############

类是一种抽象的数据类型,是对某一类事物整体描述/定义

对象是抽象的具体实例

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

 

#############

构造器详解:

作用:

1.使用new关键字必须要有构造器,本地是在调用构造器

2.构造器一般用来初始化值

一个类即使什么都不写,它也会存在一个方法

总结:

1.类名和方法名必须相同

2.没有返回值

定义了有参构造之后,如果想要使用无参构造,显示的定义一个无参构造

#######################

instanceof 和类型转换

instanceof:判断一个对象是什么类型  2个类之间是否存下父子关系

//类型之间的转换

父类   子类

1.父类引用指向子类对象

2.子类转换为父类 向上转型     父类转为子类  向下转型 需要强制转换,可能丢失一些方法

3.方便方法调用 减少重复的代码

抽象:继承 多态 封装

===================================

static 关键字详解

非静态方法可以访问这个类中的静态方法的所有东西

静态方法可以方法静态方法,不能调用普通方法

===================

抽象类

abstract 可以修改方法 抽象方法 可以修饰类 抽象类

抽象类中可以没有抽象方法  但有抽象方法的类一定要声明为抽象类

抽象类不能使用new关键字创建对象 是用来让子类继承的

抽象方法 只有方法的声明 没有方法的实现 是让子类实现的

子类继承抽象类 必须要实现抽象类中没有实现的抽象方法 否则该子类也要声明为抽象类

======================

接口的实现和定义

接口可以多继承  声明接口的关键字是interface

接口中的所有定义都是抽象的 public abstract的

一个类是可以实现接口 通过implements  实现接口的类 需要重写接口中的方法

作用:

1.约束

2.可以定义一些方法,让不同的人实现

3.方法都是public abstract

4.接口不能被实例化 因为没有构造方法

5.可以实现多个接口 通过implements实现

6.实现接口 必须重写里面的方法

7.public static final

===================

内部类:就是在一个类的内部再定义一个类

成员内部类

静态内部类

局部内部类

匿名内部类:没有名字初始化类 不用将实例保存再变量中

======================

异常机制:

Error 和Exception的区别:

Error通常是灾难性的致命的错误 是程序无法控制和处理的 当出现这类错误时  Java 虚拟机(JVM)一般选择终止进程,Exception通常情况下时可以被程序处理的

异常处理机制

 

try:监控区域

catch (想要捕获的异常类型):捕获异常

finaly:无论是否有异常,finaly 都会被执行

throw:主动抛出一个异常 在方法里面用

if(b==0){

throw new Armtimeexception(); 

throws:在方法上抛出异常

public void test(int a,int b) throws Armtimeexception {}

假设捕捉多个异常,要从小到大

快捷键:Ctrl+Alt+T

posted @ 2021-04-22 13:50  白语  阅读(47)  评论(0)    收藏  举报