包、常量、抽象、继承(java基础进阶)

本文详细介绍了Java编程中的包命名规范、导包方式,以及权限修饰符的使用场景,包括private、public和protected。接着讲解了final关键字在类、方法和变量中的应用,常量的定义与执行原理,以及枚举的特性。此外,还阐述了抽象类和接口的概念,包括抽象方法、抽象类的特征以及接口的定义、实现和多继承。通过这些内容,读者将能够深入理解Java中的封装和抽象概念。
摘要由CSDN通过智能技术生成


建包的语法格式:package 公司域名.技术名称。
包名建议全部英文小写,且具备意义

package com.itheima.javabean
public class Student{
}
// 建包必须放在第一行

导包
同一个包下的类可以直接访问,不同包下的类必须导报,才可以使用
如果这个类中使用不同包下的相同类名,此时默认只能导入一个类的包,另一个类要使用全名访问

//导包格式 
import 包名.类名;

权限修饰符
权限修饰符:用来控制一个成员能被访问的范围
可以修饰成员变量,方法,构造器,内部类

权限修饰符的分类和具体作用范围
在这里插入图片描述
学完权限修饰符需具备如下能力:
能够识别别人定义的成员的访问范围。
自己定义成员(方法,成员变量,构造器)一般需满足如下要求
成员变量一般私有
方法一般公开
如果该成员只希望本类访问,使用private修饰
如果该成员只希望本类,同一个包下的其它类和子类访问,使用protected修饰

final的修饰
可以修饰(类、方法、变量)
修饰类:表明该类是最终类,不能被继承 常用于工具类
修饰方法:表面该方法是最终方法,不能被重写
修饰变量:表面该变量第一次赋值后,不能再次被赋值

final修饰变量注意:
基本类型:变量存储的数据值不能更改
引用类型:变量存储的地址值不能更改,但地址指向的对象内容是九二一变化的

常量
必须是public static final修饰的成员变量,必须有初始化值,而且执行过程中其值不能被改变
规范:变量名是大写,中间可用下划线隔开

public static final String SCHOOL_NAME="传智教育";
public static final String LOGIN_NAME="admin";
public static final String PASS_WORD="123456";

常量的执行原理
在编译阶段会进行"宏替换",把使用常量的地方全部替换成真实的字面量
好处是使用常量的程序的执行性能与直接使用字面量是一样的

枚举
作用:为了做信息的标志和信息的分类

//定义枚举类格式
修饰符 enum 枚举名称{
 第一行都是罗列枚举类实例的名称
}

enum Season{
	SPRING, SUMMER, AUTUMN, WINTER;
}

枚举的特征:
枚举类都是继承了枚举类型: java.lang.Enum
枚举都是最终类,不可以被继承
构造器都是私有的,枚举对外不能创建对象
枚举类第一行默认是罗列枚举类实例的名称
枚举类相当于是多例模式

抽象类
一般作为父类,让子类来继承
当父类知道子类一定要完成某些行为,但每个子类该行为的实现又不同,于是该父类就把该行为定义成抽象方法的形式,具体实现交给子类去完成。此时这个类就可以申明为抽象类。

public abstract class Animal{
	public abstract void run();
}

抽象类的特征
类有的成员(成员变量、方法、构造器),抽象类都具备
抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
一个类继承了抽象类必须重写完抽象类的全部抽象方法,否则这个类也定义成抽象类。
不能用abstract修饰变量、代码块、构造器
最重要的特征:得到了抽象方法,失去了创建对象的能力

final和abstract是什么关系?
互斥关系
abstract定义的抽象类作为模板让子类继承,final定义的类不能被继承
abstract修饰的方法必须重写,final修饰的方法不能重写

抽象类的应用知识:模板方法模式
实现步骤:
把功能定义成一个所谓的模板方法,放在抽象类中,模板方法中只定义通用且能确定的代码
模板方法中不能决定的功能定义成抽象方法让具体子类去实现

接口
接口概述、特点

//接口用关键字interface来定义
public interface 接口名{
	//常量
	//抽象方法
}

接口是一种规范。
注意:由于接口体现规范思想,规范默认是公开的,所有代码层面 public abstract可以省略不写

接口的基本使用:被实现
用到了implements关键字

修饰符 class 实现类 implements 接口1,接口2,接口3,...{}

一个类实现接口,必须重写全部接口的全部抽象方法,否则这个类需要定义成抽象类

接口与接口的关系:多继承
接口多继承的作用:规范合并,整合多个接口为同一个接口,便于子类实现

JDK8开始接口新增方法(了解即可)
默认方法:default修饰,实现类对象调用
静态方法:static修饰,必须用当前接口名调用
私有方法:private修饰,jdk9开始才有的,只能在接口内部被调用

使用接口的注意事项
接口不能创建对象
一个类可以实现多个接口,多个接口中有同样的静态方法不冲突
一个类继承了父类,同时又实现了接口,父类中合接口中有同名的方法,默认用父类的
一个类实现了多个接口,多个接口中存在同名的默认方法,不冲突,这个类重写该方法即可
一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值