文章目录
JAVA part 8:final、static、抽象类和接口、包
final 关键字
表示最终的意思,可以用来修饰类,修饰变量,修饰方法。
tips:
1.final修饰类:表明该类是最终类,不能被修饰,即该类没有子类
2.final修饰变量:表明该变量是常量,不能再次被赋值
3.final修饰方法:表明该方法是最终方法,不能被重写
static 关键字
表示静态的意思,可以用来修饰成员变量和成员方法
static修饰成员的特点:
1.被类的所有对象共享
其实也是判断一个成员是否应该用static修饰的条件
2.可以通过类名直接访问
3.优先于对象存在
4.随着类的加载而加载
static方法访问特点:
1.非静态成员方法:
能访问静态的成员变量
能访问非静态的成员变量
能访问静态的成员方法
能访问非静态的成员方法
2.静态成员方法:
能访问静态的成员变量
能访问静态的成员方法
package Day_8;
public class test1 {
// 非静态成员变量
private String name = "林青霞";
// 静态成员变量
private static int age = 30;
// 非静态成员方法
public void show1(){
System.out.println(name); // 能访问非静态的成员变量
System.out.println(age); // 能访问静态的成员变量
show2(); // 能访问非静态的成员方法
show4(); // 能访问静态的成员方法
}
public void show2(){}
//静态成员方法
public static void show3(){
//System.out.println(name); 不能访问非静态的成员变量
System.out.println(age); // 能访问静态的成员方法
//show2(); 不能访问非静态的成员方法
show4(); // 能访问静态的成员方法
}
public static void show4(){}
}
tips:
静态成员方法是不能出现this,super这样的关键字
原因是:静态是随着类的加载而加载。this和super这样的关键字是随着对象的创建而存在,先进内存的不能访问后进内存的
抽象类
特点:
1.抽象类和抽象方法必须使用abstract关键字
2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
3.抽象类直接不能实例化
可以参照多态的方式,通过子类对象实例化
4.抽象类的子类:
要么重写抽象类中的苏哦有抽象方法
要么是抽象类
抽象类成员特点
1.成员变量:
有成员变量,成员变量可以是变量,也可以是常量
2.构造方法:
作用是用于子类访问父类数据的初始化
3.成员方法:
成员方法可以是抽象的,也可以是非抽象的。抽象方法限定于子类必须完成某些动作;非抽象方法可以提高代码的复用性
接口
体现事物的扩展性的
特点:
1.定义接口使用的是interface关键字
public interface Jumpping{}
2.类和接口之间是实现关系,用implements关键字表示
3.接口不能通过本身实例化, 但可以参照多态的形式使用实现类来实例化
4.接口的实现类,要么重写接口中的所有的抽象方法,要么是一个抽象类
多态的几种形式:
具体类多态:几乎不用
抽象类多态:常用
接口类多态:最常用
接口的成员特点:
1.成员变量:
成员变量是一个静态常量,默认修饰符: public static final
2.构造方法:
没有构造方法
3.成员方法:
成员方法都是抽象的,默认修饰符:public abstract
Object:是类层次结构的跟类,所有的类都直接或者间接的继承自该类
类与接口之间的关系
1.类与类
继承关系,只能单继承,可以多层继承
2.类与接口
实现关系,可以单实现,也可以多实现
还可以在继承的一个类的同时实现多个接口
3.接口与接口
继承关系,可以单继承,也可以多继承
抽象类和接口的区别:
1.成员区别:
抽象类:
成员变量:可以是变量,也可以是变量
构造方法:有
成员方法:可以是抽象方法,也可以是非抽象方法
接口:
成员变量:只能是常量
成员方法:只能是抽象方法
2.关系区别:
类与类:
继承关系,只能单继承,可以多层继承
类与接口:
实现关系,可以单实现,也可以多实现
还可以在继承的一个类的同时实现多个接口
接口与接口:
继承关系,可以单继承,也可以多继承
3.设计理念的区别:
抽象类:被继承体现的是:“is a” ;抽象类中的定义是继承体系的共性功能
接口:被实现体现的是:“like a” ;接口中定义的是该体系的扩展功能
包
其实就是一个文件夹
作用:
就是对类进行分类管理
举例:
学生:增加,删除,修改,查询
老师:增加,删除,修改,查询
…
方案1:按功能分类
com.itheima.add
AddStudent
AddTeacher
com.itheima.delete
DeleteStudent
DeleteTeacher
…
方案2:按模块分
com.itheima.student
AddStudent
DeleteStudent
…
com.itheima.teacher
AddTeacher
DeleteTeacher
…
包的定义格式:
package 包名;
如果是多级包 ,用 . 隔开
tips:
1.package必须是程序的第一条可执行语句
2.package语句在一个java文件中只能有一个
导包
import 包名;
如果想使用一个不在同一个包下的一个类,使用的时候,要加类的全路径名称
四种权限修饰符的访问特点

本文深入解析Java中的final、static、抽象类、接口与包的概念,详细阐述它们的特性和使用场景,帮助读者掌握Java编程的关键要素。
1185

被折叠的 条评论
为什么被折叠?



