1.包
1.1自定义包
package <包名>
注意:声明一个包的语句必须写在类中的第一行。
例如:创建 Hero 类,将该类存放到 com.java oriented.dato.figure 包中
package com.java.oriented dato.figure; // 使用 package 关键字声明包
public class Hero{
//类中的相关操作
}
1.2包的导入
如果要使用Java 中存在的包,可以在程序中使用import 语句导入包。在程序中导入包的格式如下
import <包名>.<类名>
如果要导入一个包中的多个类,可以使用"*" 表示包中所有的类。
例如:
imoort jave.util.* //导入java.util 包中所有的类
import java.util.ArrayList // 导入java.util 包中的 ArrayList 类
1.3包的访问权限
关键字
private (私有) default (默认) protected (受保护的) public (公共的)
访问修饰符 | 同一个类中 | 同一个包中 | 子类中 | 所有类中 |
private | ✔ | —— | —— | —— |
default | ✔ | ✔ | —— | —— |
protected | ✔ | ✔ | ✔ | —— |
public | ✔ | ✔ | ✔ | ✔ |
2.继承
语法结构:
[修饰符] class 子类名 [extends 父类名 ]{
//类定义部分
}
注意: (1).Java中的继承为单继承,即一个子类只能有一个直接的父类。
(2).子类不能进行父类。
例如:Sword 是一个类,Spear是一个类,将Sword设置为Spear的父类
public class Spear extends Sword{
//类定义部分
}
3.重载和重写
3.1 重载
定义:是指一个类中的多个方法可以具有相同的方法名,但这些方法的参数必须不同,在执行时可以根据其参数各个与类型来判断要调用此方法是哪一种操作。
注意:
(1)同一个类中,方法名相同,参数列表不同。
(2)返回值类型不能用于区分方法的重载。
3.2重写
定义:子类扩展了父类子类是一个特殊的父类子类,以父类为基础,额外增加新的属性和方法。
注意:
(1)在子类中对所继承父类中的方法进行重写。
(2)返回值类型,方法,名,参数列表都一致,访问修饰符不能降低。
4.多态
4.1
定义:指同一操作作用于不同的对象可以有不同的解释,以至于产生不同的执行结果。
前提条件:必须要有子父类关系。
注意:在使用多太厚的父类引用变量调用方法时,会调用子类重写后的方法。
4.2多态的转型
多态的转型:分为向上转型和向下转型。
两种向上转型:多态本身就是向上转型过的过程。
使用格式:
父类类型 变量名=new 子类类型();
适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作
4.3instanceof运算符
instanceof运算符的前一个操作通常是一个引用类型变量,后一个操作通常是一个类,它用于判断运算符前面的引用变量是否是运算符后面的类型或其子类型的实例。