Java總結第八天

1、多態性
多態性的體現
方法的重載和重寫
對象的多態性
對象的多態性
向上轉型:程序會自動完成
父類 父類對象  = 子類實列
向下轉型:強制類型轉換
子類 子類對象 = (子類)父類實列

2、instanceof關鍵字
在java中可以使用instanceof關鍵字判斷一個對象到底是不是一個類的實列



3、ecplice:
快捷代碼提示: Alt + /
快捷刪除行 :Ctrl + D
下一行:Shift + Enter 
運行:Ctrl + F11
快速移動行:Alt + 上下鍵
快速放大工作區:Ctrl + M
註釋:Ctrl + /
4、仔細理解 抽象類 和  接口


5、異常處理:
try...catch...finally拋出異常後,在catch外面的代碼還是會繼續往下執行。但是try{}裏的語句不再往下執行(包括當前語句若是輸出也不會輸出)。
注意:catch裏面的異常類應從子類——>父類的順序寫,否則會報錯。

try{
是可能出現異常的執行語句塊
} catch (Exception e) {
出現異常時針對性的處理語句塊
} finally {
try-catch的最後收尾處理,主要用於關閉連接等
}
代碼:
1、
package N08;

class Parent{
public void tell1(){
System.out.println("Parent Tell1");
}
public void tell2(){
System.out.println("Parent Tell2");
}
}

class Child extends Parent{
public void tell1(){
System.out.println("child Tell1");
}
public void tell3(){
System.out.println("child Tell3");
}
}

class Child01 extends Parent{
public void tell4(){
System.out.println("child Tell4");
}
}


public class N1 {

/**多態性
* @param args
*/
public static void main(String[] args) {
// Child ch = new Child();
// Parent par = ch; //向上轉型
// par.tell1(); //tell1的方法是重寫的  
// par.tell2();
// //向下轉型
// Parent par = new Child();
// Child ch = (Child) par;
// ch.tell1();
// ch.tell2();
// ch.tell3();
// say(new Child());
// say(new Child01());
Parent par = new Parent();
System.out.println(par instanceof Parent);
System.out.println(par instanceof Child);
Parent par1 = new Child();
System.out.println(par1 instanceof Parent);
System.out.println(par1 instanceof Child);
}
public static void say(Parent ch){
ch.tell1();
}

}

2、
package N08;

abstract class Person{
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public Person(int age){
this.age = age;
}
public abstract void want();
}


class Student extends Person{

public Student(int age) {
super(age);
}

@Override
public void want() {
System.out.println("我想要喫飯,,,," + "年齡:" + getAge());
}
}

class Worker extends Person{

public Worker(int age) {
super(age);
// TODO Auto-generated constructor stub
}
@Override
public void want() {
// TODO Auto-generated method stub
System.out.println("我想要走路,,,," + "年齡:" + getAge());
}
}

public class N2 {

/**抽象類的應用   不要去繼承一個寫好的類
* @param args
*/
public static void main(String[] args) {
Student st = new Student(10);
st.want();
Worker wo = new Worker(20);
wo.want();
}

}


3、
package N08;


interface USB{
void start();
void stop();
}

class C{
public static void work(USB u){
u.start();
System.out.println("工作,我來了");
u.stop();
}
}

class U implements USB{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("U盤開始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("U盤停止工作");
}
}

class Printer implements USB{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("打印機開始工作");
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("打印機停止工作");
}
}


public class N3 {

/**接口的應用
* @param args
*/
public static void main(String[] args) {
C.work(new U());
C.work(new Printer());
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章