程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java隨手筆記三之多態,java多態

java隨手筆記三之多態,java多態

編輯:JAVA綜合教程

java隨手筆記三之多態,java多態


多態: ---一個對象的多種形態 實質:父類的引用指向子類對象 ---前提:必須有繼承或者是實現 class Animal{} class Dog extends Animal{} main{ Dog d = new Dog(); //本態 Animal dog = new Dog(); //多態 }   注意:通過多態形式創建的對象,只能訪問子父類共有的成員方法,運行結果為子類結果是子類特有的成員方法不能方法。 虛擬方法調用: 父類對象調用子類特有的方法 Student S = new Student("張三",100); Person p = new Student("李四",200); System.out.println(S.say()); System.out.println(p.say());   多態數組 — 在引用類型的數組中,使用多態形式存放對象。 eg:Person[] person = {new Person("張三", 32), new Student("李四", 21, 120, 90.0), new Student("王五", 22, 119, 91.5), new Teacher("劉老師", 35, 10, "Java EE"), new Teacher("張老師", 11)};   多態參數 — 方法參數列表中的引用類型參數 instanceof運算符 — 判斷一個對象是否為指定類型(形態) 強制類型轉換 — 將對象從一種引用形態轉換為另一種引用形態 對象關聯: 一個對象中使用了另一個對象 一對一,一對多,多對一 class test4 { public static void main(String[] args){   Person p = new Person("王五",50); method(p); Student S = new Student("張三",100); method(S); Person p1 = new Student("趙四",100); method(p1); }   public static void method(Person p){ if (p instanceof Student){ System.out.println("教師"); Student s = (Student)p; System.out.println("本態方法調用:"+p.say()); }else{ System.out.println("人"); }   System.out.println(p.say()); } }   class Person{ private String name; private int age;   public Person(){}   public Person(String name,int age){ this.name = name; this.age = age; }   public String getName(){ return name; }   public String say(){ return "姓名:"+name+"年齡:"+age; } }   class Student extends Person{ private int id; private double score;   public Student(String name,int id){ this(name,20,id,98.5); }   public Student(String name,int age,int id,double score){ super(name,age); this.id = id; this.score = score; }   public double getId(){ return id; }   public String say(){ return super.say()+"學號:"+id+"分數:"+score; } }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved