JAVA基础复习

抽象类

Java中可以i当以被abstract关键字修饰的方法,这种方法只有声明,没有方法体,叫抽象方法

Java中可以定义被abstract关键字修饰的类,被abstract修饰字修饰的类叫做抽象类

抽象类中的方法实现交给子类来完成

抽象方法的格式

权限修饰符     abstract 返回值类型 方法名(参数);

特点:

1.抽象类中可以没有抽象方法,但是有抽象方法的类,必须是抽象类

2.子类继承了抽象类后,要么还是一个抽象类,要么重写所有抽象方法

3.多用于多态中

4.抽象类不能被实例化

接口

格式:        interface 接口名{代码}

特点

1.接口中的都是抽象方法

2.通过interface关键字来定义接口,子类可以通过implements来实现接口

3.接口可以理解为一个特殊的抽象类,因为接口中的方法都是抽象方法

4.接口突破了java单继承的局限性

5.接口和类之间可以多实现,接口与接口之间可以多继承

6.接口是对外暴漏的规则,是一套开发规范

7.接口提高了程序的功能扩展,降低了耦合性

8.接口中没有成员变量,都是常量,不能被重新赋值,可以直接通过类名调用。(你在接口中定义一个变量没写修饰符时,默认会加上,public static final)

延伸

类和类的关系:

1.继承关系,只支持单继承

2.子类需要修改原有的功能,需要重写(方法签名与父类一致,且权限修饰符大于等于父类修饰符)

类与接口的关系

1.是实现关系,可以单实现,也可以多实现(class A implements B,C{})

        其中A是实现类,B和C是接口,A拥有BC接口的所有功能,只是需要进行方法的重写,否则A就是抽象类

接口与接口的关系

1.继承关系,可以单继承,也可以是多继承(interface A extends B,C{})

        其中ABC都是接口,A是子接口,具有BC接口的所有功能(抽象方法)

        class X implements A{}        X实现类要重写接口A B C 中的所有方法,否则就是抽象类

        class A extends B implements C,D{}        A是实现类,也是B的子类,同时拥有接口 C D 的所有功能,所以A需要重写接口C D的所有抽象方法

接口与抽象类的区别:

1.抽象类是一个特殊的类,因为抽象类中可以包含没有方法体的方法(抽象方法)

2.接口可以理解为一个特殊的抽象了类,因为接口里没有普通方法,都是抽象方法

3.抽象类中可以有构造方法,用来给子类创建对象,接口中没有构造方法

4.抽象类和接口都不能实例化(创建对象)

5.抽象类中可以有普通方法,接口中全是抽象方法

StringBuilder和StringBuffer

特点:

1.封装了char[]数组

2.是可变的字符序列

3.提供了一组可以对字符内容修改的方法

4.常用        append() 来代替字符串,做字符串连接"+"

5.内部字符数组默认初始容量是16,如果大于16会尝试扩容,新数组的大小是原来的2倍+2

6.StringBuffer 1.0出道,线程安全,        StringBuilder 1.5出道,线程不安全

自动装箱和自动拆箱

自动装箱:

把   基本类型 包装成对应的    包装类型 的过程

Integer a = 5 ;       (Integer a = Integer.valueOf(5))

自动拆箱:

把 包装类型     自动变成   基本类型 的过程

int i  =  a;        (int i = a.intValue();)

== 和 equals 的区别

1.当使用==比较时,如果相比较的两个变量是引用类型,那么比较的是两者的物理地址(内存地址),如果比较的两个变量都是数值类型,那么比较的是具体的数值是否相等

2.当使用equeals比较时,比较的结果实际取决于equals()方法的具体实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值