Java第十课. API&语言包

Java第十课. API&语言包

回顾

1.抽象类和抽象方法的关系
  有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法;
  当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类;
2.接口的特点,和作用
  接口特点:
  ①接口不可以被实例化,只能被类实现。
  ②在接口中只能有 public 修饰和缺省修饰的公共常量和抽象方法
  ③1个类可以实现多个接口,必须要实现所有接口的所有抽象方法
  ④1个接口可以被多个类实现
  ⑤接口也是多态的表现形式
  ⑥接口的引用指向实现类
  作用:解决Java中的单继承问题;
3.抽象类和接口的区别
  抽象类中可以有抽象方法和普通方法,也可以有普通变量和常量,可以有构造方法;
  接口中只能有抽象方法和静态常量,没有构造方法。
4.类的基类是什么类?Object
5.final 修饰的类的特点:不能被继承
  final 修饰的方法的特点:不能被重写
  final 修饰的变量的特点:不能被修改
6.static 修饰的变量特点:内存唯一,给所有实例共享
  static 修饰的方法特点:通过类名.静态方法()
7.static 是否可以和 abstract 连用?不可以
  final 是否可以和 abstract 连用? 不可以
  static 是否可以和 final 连用?可以
  接口和抽象类都不可以被实例化?是;接口被类实现 implements ,抽象被类继承 extends;
8.写出四大访问修饰符,并且对应的有效范围
  public    公开的
  protected 父子友好,同包友好
  缺省     同包友好
  private  同类友好
9.继承的关键词    定义接口的关键词     实现接口的关键词
  extends         interface         implements

语言包 lang 包

java中内置的基础包,使用的时候会默认导入

1. 枚举
1.1 枚举的概念
枚举类型可以取代以往的常量的定义方式,即将常量封装在类或接口中,此外,它还提供了安全检查功能. 枚举本质上还是以类的形式存在,枚举类型增强了程序代码的健壮性;
枚举定义:有很多现实的对象属性的属性值其实是固定:性别,季节,节气;
• 枚举(在Jave中简称为enum)是一个特定类型的类。所有枚举都是Java中的新类java.lang.Enum的隐式子类。此类不能手工进行子类定义;
关键字:enum
1.2 语法
定义一个枚举类的语法: public enum 类名{
   成员常量1,成员常量2....}
public enum Sex{
   
    //固定的成员变量,;
}
1.3 实现
将枚举类作为参数的数据类型,那么参数值就必须是枚举类中的常量值;

public class Somebody {
   
	private Sex sex;

	public Sex getSex() {
   
		return sex;
	}

	public void setSex(Sex sex) {
   
		this.sex = sex;
	} 

}
测试类:
public class TestSomebody {
   

	public static void main(String[] args) {
   
		Somebody somebody=new Somebody();
		somebody.setSex(Sex.人妖);//安全检查功能,参数的值必须是,枚举类中的常量
		System.out.println(somebody.getSex());
		
	}

}
1.4 枚举的特点
• 所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类;
• 枚举可以实现接口;
• 不能有 public 的构造函数,这样做可以保证客户代码没有办法新建一个 enum 的实例;
• 所有枚举值都是 public , static , final 的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。
• enum 默认实现了java.lang.Comparable接口。
• enum 覆载了了toString方法;enum 提供了一个valueOf方法,这个方法和toString方法是相对应的;enum 还提供了values方法,这个方法使你能够方便的遍历所有的枚举值;enum 还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定;
1.5 枚举的作用
类型安全,易于输入,代码清晰;
2. 包装类
2.1 概念
Java中包含 2大数据类型:基本数据类型(原始数据类型)、引用数据类型;
之前学习的基本数据类型在某一些场合使用不了,比如集合(集合存放只能是引用数据类型);
Java提供一系列包装类,将原始数据类型变成引用数据类型;
在java.lang包中,对于每个原始数据类型都有一个相应的包装类;
[包装类->引用类型]
*原始数据类型* *包* *装* *类*
boolean*(布尔型)* *Boolean*
byte*(字节型)* *Byte*
char*(字符型)* *Character*
short*(短整型)* *Short*
int*(整型)* *Integer*
long*(长整型)* *Long*
float*(浮点型)* *Float*
double*(双精度浮点型)* *Double*
上表我们可以发现,除了字符型 char 和整形 int 的包装类是Character和Integer,其他的数据类型的包装类只需要把第一个字母改成大写即可;
已经有了基本类型,为什么还要提供包装类呢?
1. 和面向对象思想一致(普通类型没有方法属性 )2. 和其他类型进行转换,没有包装类,["比较麻烦"](例如将字符串转换为 int)
		String
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值