包
- 包就是文件夹,用来管理各种不同功能的java类
- 包名:公司域名反写+包的作用
- 全类名: 包+类名
- 1、使用同一个包中的类时,不需要导包
2、使用java.lang核心包时,不需要导包
3、其他情况要导包
4、如果同时使用两个包中 的同名类,需要用全类名(com.lhb.test.Student)
final关键字
- final关键字修饰的方法 不能被改变也不能被重写
- final关键字修饰类,表示最终类不能被继承
- final修饰变量:表示只能被赋值一次,也叫 常量。
- 常量规范:全部大写,单词间用下划线隔开
- final修饰引用数据值,记录的是地址值,不能更改其地址值。
- 常量记录的值不能更改。
接口
- 接口就是一种规则,是对行为的抽象
接口的定义和使用
- 接口用关键字interface来定义
- public interface接口名{}
- 接口不能实例化
- 接口和类之间是实现关系,通过implements关键字表示,public class 类名implements接口名{}
- 接口的子类(实现类)
要么重写接口中的所有抽象方法
要么是 抽象类 - 注意:接口和类的实现关系,可以单实现,也可以多实现public class类名implements接口名1,接口名2P{}
public class 类名extends父类implements接口名1,接口名2{} - 接口中成员特点
1、成员变量:只能是常量,默认修饰符:public static final
2、构造方法:没有
3、成员方法:只能抽象方法 默认修饰符public abstract
接口
- 默认方法不是抽象方法,所以不强制被重写,但是如果被重写了,重写的时候去掉default关键字;
- 接口默认方法 public default 返回值类型(参数) {};
- public可以省略,default不能省略;
- 实现多个类,多个类中有同一个默认方法,必须重写。
- 类中定义静态方法
public static :public 可以省略 static不能省略
调用接口中的静态方法,只能用接口名调用,不能用实现类或者创建对象调用。 - JDK9+虽有接口方法:private 返回值类型(参数) {};
private static 返回值类型(参数) {};私有静态方法
内部类
- 在一个类里面,再定义一个类就是内部类。
public class Car{
String carName;
int carAge;
int carColor;
class Engine{
String engineName;
int engineAge;
}
}
- 内部类表示的事物是外部类的一部分;
- 内部类单独出现没有任何意义。
- 内部类的访问特点:
1、内部类可以直接访问外部类的成员(包含私有)
2、外部类要访问内部类的成员,必须创建对象。 - 静态内部类
1、静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象。 - 局部内部类
1、将内部类定义在方法里,就叫做局部内部类,类似于方法里面的局部变量。
2、外接是无法直接使用局部内部类,需要咋子方法内部创建对象并使用。
3、该类可以直接访问外部类的成员,也可以访问方法内的局部变量。 - 匿名内部类
1、匿名内部类本质上是隐藏了名字的内部类。可以写在成员位置,也可以写在局部位置,我们省略的名字,编译的时候会自动添加外部类名+$+数字
2、new 类名或接口() {}
3、包含了继承或实现,方法重写,创建对象,整体就是一个类的子类或者接口的实现类对象。
4、当方法的参数是接口或者类时。