基础知识巩固三

抽象类和接口:

  • 抽象类的构造方法定义为protected,因为它只被子类使用
  • 关注点:1、抽象方法不能包含在非抽象类中
  •                2、抽象类不能使用new操作符来初始化创建实例对象,但当作为一种数据类型,可以创建一个元素是抽象类型的数组,
  •                例如:Abstrac  a = new Abstrac[10]
  •                3、包含抽象对象的类必须是抽象的
  •                4、子类的父类是具体的,这个子类也可以是抽象的
  •                5、子类可以覆盖父类的方法并将它定义为abstract

日历类:Calendar    它的子类公历类:GreGorianCalendar()

1 Calendar  c = new GregorianCalendar();
2 
3 c.get(Calendar.Year);//获取年份

1.8之前接口中只包含常量(public final static)和抽象方法(public abstract),1.8之后,接口变得更加灵活,可以有静态方法(static)和默认方法(default),方法前必须写关键词static/default

Comparable接口:可比较      其中的方法只有compareTo(Object o)

Cloneable接口是一个特殊请款(zai java.lang包中),这个接口是空的,成为标记接口,表示一个类拥有的某些特定的属性

  • 注:自己定义一个类来实现Cloneable接口,必须覆盖Object中的clone()方法,否则会抛出CloneNotSupportedException异常

抽象类和接口的区别

 protected Object clone() throws CloneNotSupportedException {  
        return super.clone();  
 }  

 

区别                变量                构造方法                                            方法

抽象类           无限制           有,不能使用new实例化                    无限制

接口            必须是常量      无,不能用new实例化                        抽象方法必须是公共的实例方法,还可以包含静态方法和默认方法

native是一个计算机函数,一个Native Method就是一个Java调用非java代码的接口。

包装类:

  • 包装类没有无参构造方法,所有包装类的实例都是不可变的,这意味它们的内部值就不能再改变
  • 每个数值包装类都有常量MAX_VALUE和MIN_VALUE
  • Double.valueOf("12.4"):12.4(double)
  • Integer.valueOf("12"):    12(int)
  • valueOf和parseDouble方法区别在于,valueOf函数内部就调用了parseDouble方法,只不过它还有个自动装箱开箱的过程,这会增加系统性能的损耗,一般使用parseDouble
  • 每个数值包装类都有两个重载的方法,将数值字符串转换为正确的以十进制为基数的数值
  • 例如:
  1. Integer.parseInt("11",2):3
  2. Integer.parseInt("12",8):10
  3. Integer.parseInt("13",10):13
  4. Integer.parseInt("1A",16):26
  • 注意Integer.parseInt("12",2)会报错,12不是二进制数

 

posted @ 2018-03-09 08:41  PottyHarry  阅读(87)  评论(0编辑  收藏  举报