Java 基础知识 2

Java 基础知识 2

1. instanceof 运算符: 对目标进行判断,结果为boolean类型。
例:引用变量 instanceof 引用数据类型

package test;

public class Test {

	public static void main(String[] args) {
		 if("i like you" instanceof String) {
			 System.out.println(true);
		 }else {
			 System.out.println(false);
		 }
	}
}

运行结果是如下图:
在这里插入图片描述

2. 重写与重载:
① 重写(override):子类对父类方法的覆盖;子类重写的方法访问权限不能低于父类;
被重写的返回值类型、方法名称、参数列表必须跟父类方法一模一样,
② 重载(overload):多个同名的方法;方法名称必须一致,参数个数、参数顺序、参数类型不一致;重载与返回值无关。

3. String、StringBuffer 和 Stringbuilder:
String:长度不可改变的字符串,
StringBuffer:可变长度的字符串,线程安全,单线程,
Stringbuilder:可变长度的字符串,线程不安全,多线程。

4. static & final
static:主要用于修饰属性(类属性:静态属性)、方法(类方法:静态方法)、内部类;
被 static 修饰的元素与对象无关(不需要通过对象访问),不允许在 static 方法中使用 this 关键字.
final:可以用于修饰类(无法被继承)、属性(赋值就无法修改:常量)、方法(无法被重写)。
static 结合 final 使用用于声明常量(constant)。

5. abstract class(抽象类):属性、构造器、行为(已实现的方法、抽象方法)。
① 抽象类必须使用 abstract 修饰;
② 抽象类存在构造器,但是无法实例化(可以使用匿名内部类创建子类对象);
③ 抽象类中通常会包含抽象方法;
④ 抽象类的存在一般是需要由子类继承,子类一旦继承了抽象类,则子类必须实现父类中的抽象方法(除非子类也是抽象类);
⑤ 抽象类允许继承其他抽象类,但是也只能单继承,可以通过多重继承的方式实现多继承;
⑥ abstract 只能修饰类和方法。

6. interface(接口): 常量、未实现的方法、(JDK 8:默认方法、静态方法、函数式接口)。
① 接口不存在构造器,因此无法实例化;
② 接口允许继承接口,可以同时继承多个接口;
③ 一个类可以实现多个接口,但是必须要同时实现所有接口的方法(除非抽象类);
④ 抽象类也实现接口。

7. 抽象类和接口的区别:
① 抽象类是一种类结构;接口是一种行为准则
② 抽象类中包含类的所有特征,同时包含抽象方法;接口只能有常量和未实现的方法
③ 抽象类由子类通过 extends 进行扩展;接口由实现类通过 implements 扩展
④ 子类只能继承一个抽象类;一个类可以实现多个接口
⑤ 抽象类能切只能继承一个父类;接口可以继承多个接口,接口不能继承任何类
⑥ 抽象类是对类名词的一种抽象;接口是对行为的抽象,接口时一种特殊的抽象类

8. equals: 在比较引用数据类型时使用 equals,重写 equals 方法时一定要同时重写 hashCode(表示引用类型对象在堆内存的存储地址)。

9. 多态性: 同名的不同方法在程序中共存(例如:重载);程序的扩展性、代码的复用性、程序的维护性。
① 方法的多态(一种方法的多种不同表现形态):方法的重写与重载;
② 变量的多态:父类的引用指向子类对象、子类引用指向父类对象(强制类型转换,前提是被转换的引用变量原本指向的就是目标对象)。

10. 单例模式 (Singleton): 在程序允许的过程中始终只存在一个对象(实例);应用:数据库连接池、线程池。
① 懒汉式:(需要的时候才创建:用时间换取空间);
② 饿汉式:(类加载即创建:用空间换时间)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值