小白学java-基础篇(super、final、抽象类、接口、多态、instanceof、包装类)

1、super与this:
this先从本类查找调用,再找父类;super在父类查找调用;
都必须放在代码块的首行。

2、final的注意点:
final声明的类不能有子类;
final声明的方法不能被子类复写;
final声明的变量变为常量(此处的变量名要求全部大写)。

3、抽象类:
使用规则:
a. abstract定义抽象类和抽象方法;

b. 抽象方法只有声明,不需要实现;

c. 包含抽象方法的类必须是抽象类;

d. 抽象类中可以包含普通的方法,也可以没有抽象的方法;

e. 抽象类不能直接创建实例化,必须被子类继承;子类(如果不是抽象类)必须全部覆写抽象类的全部抽象方法。
抽象类比较适用于某些方法未确定,留日后子类继承之后覆写;

由abstract修饰的方法就是抽象方法,不能有方法体,所以抽象类不是一个完成的类,如果实例化就没有意义,因此不能直接被实例化;
由于抽象方法必须被继承,因此不能用private和final修饰抽象类和抽象方法;
相比于一般类,也就多了一个抽象方法和不能实例化之外,并无任何区别。

4、抽象类(abstract)和接口(interface):
二者都不能直接实例化;子类是继承(extends)抽象类,实现(implements)接口;
接口只能定义全局常量(public static final)和抽象方法(public abstract);
子类可以继承多个接口,但只能继承一个抽象类;
接口主要用于抽象方法功能,抽象类主要用于抽象类别。关注事物的本质时用抽象类,关注一种操作,用接口;
继承是“A is B”的关系,接口是“A like B”的关系。

5、多态:
向上转型: 父类 父类对象 = 子类实例;A a = new b();
向下转型:子类 子类对象 = (子类)父类实例;B b = (b)a
从实现的效果看,向上转型可以调用父类的所有方法,但实行的是被子类覆写的方法体;向下转型必须首先执行向上转型,然后才能向下转型,可以调用子类特有的方法。
!!!子类继承父类到底能继承什么,多态的作用似乎依靠运行机制来理解 ,这两点是面向对象的最大知识点,后期需要深入学习!!!

6、instanceof判断一个对象是否是一个类的实例,在执行向上转型之后,最好进行instanceof判断,然后再向下转型,避免类型转换发生错误。

7、设计模式
!!!常用23种设计模式,会单独记录!!!

8、将一个数值的字符串转换成基本类型:
Integer.parseInt(str1)Integer.parseFloat(str2)

猜你喜欢

转载自blog.csdn.net/qq_29070549/article/details/79404897