多态
如果一个类拥有多种继承机制(包括接口也算继承一种),那么这个类就是多态得类。例如:
interface Vegetarian{
}
class Bird{
}
class Animal{
public void run(){
System.out.println("Animal----Run is nature");
}
public void eat(){
System.out.println("Animal----eat is nature");
}
public void eat(String str){
System.out.println("Animal----eat is nature");
}
}
public class Deer extends Animal implements Vegetarian{
String name;
public void run(){
System.out.println("Deer----Run is nature");
}
public void sleep(){
System.out.println("Deer----sleep is nature");
}
public String toString(){
return name + " is a deer";
}
public static void main(String[] args) {
Deer d = new Deer();
Animal a = d;
a.run();
Vegetarian v = d;
Object o = d;
System.out.println(d instanceof Deer);
System.out.println(a instanceof Deer);
System.out.println(v instanceof Deer);
System.out.println(o instanceof Deer);
}
}
- 向上转型:
- 1.父类不可以调用没有交集得部分,有交集得部分可以调用。
- 2.方法得多态是方法的重载重写。
- 向下转型:
- 1.必须要先向上转型。
Final的定义和使用
- 1.final 标记的类不能被继承。
- 2.final 标记的方法不能被子类重写。
- 3.final 标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。
- 4.final 标记的成员变量必须在声明的同时赋值, 如果在声明的时候没有赋值,那么只有一次赋值的机会, 而且只能在构造方法中显式赋值,然后才能使用。
- 5.final 标记的局部变量可以只声明不赋值,然后再进行一次性的赋值。
- 6.final 一般用于标记那些通用性的功能、实现方式或取值不能随意被改变的成分,以避免被误用
关键字
什么是关键字Java
语言保留的,Java 的开发和运行平台认识,并能正确处理的一些单词。其实就是个约定,就好比我们约定好,我画个勾勾表示去吃饭。那好了,只要我画个勾勾,大家就知道是什么意思,并能够正确执行了。关键字这个约定在 Java 语言和 Java 的开发和运行平台之间,我们只要按照这个约定使用了某个关键字,Java 的开发和运行平台就能够认识它,并正确地处理。
Java 中关键字的基本含义:
• abstract:表明类或类中的方法是抽象的;
• boolean:基本数据类型之一,布尔类型;
• break:提前跳出一个块;
• byte:基本数据类型之一,字节类型;
• case:在 switch 语句中,表明其中的一个分支;
• catch:用于处理例外情况,用来捕捉异常;
• char:基本数据类型之一,字符类型;
• class:类;
• continue:回到一个块的开始处;
• default:用在 switch 语句中,表明一个默认的分支;
• do:用在"do while"循环结构中;
• double:基本数据类型之一,双精度浮点数类型;
• else:在条件语句中,表明当条件不成立时的分支;
• extends:用来表明一个类是另一个类的子类;
• final:用来表明一个类不能派生出子类,或类中的方法不能被覆盖,或声明一个变量是常量;
• finally:用于处理异常情况,用来声明一个肯定会被执行到的块;
• float:基本数据类型之一,单精度浮点数类型;
• for:一种循环结构的引导词;
• if:条件语句的引导词;
• implements:表明一个类实现了给定的接口;
• import:表明要访问指定的类或包;
• instanceof:用来测试一个对象是否是一个指定类的实例;
• int:基本数据类型之一,整数类型;
• interface:接口;
• long:基本数据类型之一,长整数类型;
• native:用来声明一个方法是由与机器相关的语言(如 C/C++/FORTRAN 语言)实现的;
• new:用来申请新对象;
• package:包;
• private:一种访问方式:私有模式;
• protected:一种访问方式:保护模式;
• public:一种访问方式:公共模式;
• return:从方法中返回值;
• short:基本数据类型之一,短整数类型;
• static:表明域或方法是静态的,即该域或方法是属于类的;
• super:当前对象的父类对象的引用;
• switch:分支结构的引导词;
• synchronized:表明一段代码的执行需要同步;
• this:当前对象的引用;
• throw:抛出一个异常;
• throws:声明方法中抛出的所有异常;
• transient:声明不用序列化的域;
• try:尝试一个可能抛出异常的程序块;
• void:表明方法不返回值;
• volatile:表明两个或多个变量必须同步地发生变化;
• while:用在循环结构中;
• assert:声明断言;
• enum:声明枚举类型;
解释几点:
(1):这些关键字的具体含义和使用方法,会在后面用到的地方讲述
(2):Java 的关键字也是随新的版本发布在不断变动中的,不是一成不变的
(3):所有关键字都是小写的
(4):goto 和 const 不是 Java 编程语言中使用的关键字,但是是 Java 的保留字,也就是说 Java 保留了它们,但是没有使用它们。true 和 false 不是关键字,而是 boolean 类型直接量
(5):表示类的关键字是 class