Java 謹蓑
<貧匯准
和匯准>
謹蓑來頁斤嵆謹嶽燕孖侘塀議悶孖。
壓中?斤嵆嶄?恷械需議謹蓑窟伏壓聞喘幻窃議哈喘栖哈喘徨窃議斤嵆。
壓Java嶄?侭嗤議斤嵆脅醤嗤謹蓑來?咀葎販採斤嵆脅嬬宥狛IS-A霞編議窃侏才Object窃。
恵諒匯倖斤嵆議率匯圭隈祥頁宥狛哈喘侏延楚。
哈喘侏延楚峪嬬嗤匯嶽窃侏?匯稀瓜蕗苧?哈喘侏延楚議窃侏祥音嬬瓜個延阻。
哈喘侏延楚音叙嬬校瓜嶷崔葎凪麿斤嵆?念戻頁宸乂斤嵆短嗤瓜蕗苧葎final。珊辛參哈喘才万窃侏屢揖議賜宀屢惹否議斤嵆。万辛參蕗苧葎窃窃侏賜宀俊笥窃侏。
厘断厮将網胎阻圭隈議嶷墮?匆祥頁徨窃嬬校嶷墮幻窃議圭隈。
輝徨窃斤嵆距喘嶷墮議圭隈扮?距喘議頁徨窃議圭隈?遇音頁幻窃嶄瓜嶷墮議圭隈。
勣?距喘幻窃嶄瓜嶷墮議圭隈?夸駅倬聞喘購囚忖super。
園咎扮?園咎匂殊臥欺mailCheck()圭隈壓Salary窃嶄議蕗苧。
壓距喘s.mailCheck()扮?Java倡亭字(JVM)距喘Salary窃議mailCheck()圭隈。
咀葎e頁Employee議哈喘?侭參距喘e議mailCheck()圭隈夸嗤頼畠音揖議潤惚。
輝園咎匂殊臥e.mailCheck()圭隈扮?園咎匂殊臥欺Employee窃嶄議mailCheck()圭隈。
壓園咎議扮昨?園咎匂聞喘Employee窃嶄議mailCheck()圭隈刮屬乎囂鞘?
徽頁壓塰佩議扮昨?Java倡亭字(JVM)距喘議頁Salary窃嶄議mailCheck()圭隈。
乎佩葎瓜各葎倡亭圭隈距喘?乎圭隈瓜各葎倡亭圭隈。
Java嶄侭嗤議圭隈脅嬬參宸嶽圭塀燕孖?処緩?嶷亟議圭隈嬬壓塰佩扮距喘?音砿園咎議扮昨坿旗鷹嶄哈喘延楚頁焚担方象窃侏。
壓中?斤嵆嶄?恷械需議謹蓑窟伏壓聞喘幻窃議哈喘栖哈喘徨窃議斤嵆。
壓Java嶄?侭嗤議斤嵆脅醤嗤謹蓑來?咀葎販採斤嵆脅嬬宥狛IS-A霞編議窃侏才Object窃。
恵諒匯倖斤嵆議率匯圭隈祥頁宥狛哈喘侏延楚。
哈喘侏延楚峪嬬嗤匯嶽窃侏?匯稀瓜蕗苧?哈喘侏延楚議窃侏祥音嬬瓜個延阻。
哈喘侏延楚音叙嬬校瓜嶷崔葎凪麿斤嵆?念戻頁宸乂斤嵆短嗤瓜蕗苧葎final。珊辛參哈喘才万窃侏屢揖議賜宀屢惹否議斤嵆。万辛參蕗苧葎窃窃侏賜宀俊笥窃侏。
箭徨?
斑厘断栖心匯倖箭徨。
public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
咀葎Deer窃醤嗤謹嶷写覚?侭參万醤嗤謹蓑來。- 匯倖 Deer IS-A Animal
- 匯倖 Deer IS-A Vegetarian
- 匯倖 Deer IS-A Deer
- 匯倖 Deer IS-A Object
Deer d = new Deer(); Animal a = d; Vegetarian v = d; Object o = d;侭嗤議哈喘侏延楚d,a,v,o脅峺?均嶄屢揖議Deer斤嵆。
倡圭隈:
厘断繍初府壓Java嶄?輝譜柴窃扮?瓜嶷墮議圭隈議佩葎奕劔唹峒謹蓑來。厘断厮将網胎阻圭隈議嶷墮?匆祥頁徨窃嬬校嶷墮幻窃議圭隈。
輝徨窃斤嵆距喘嶷墮議圭隈扮?距喘議頁徨窃議圭隈?遇音頁幻窃嶄瓜嶷墮議圭隈。
勣?距喘幻窃嶄瓜嶷墮議圭隈?夸駅倬聞喘購囚忖super。
/* File name : Employee.java */
public class Employee
{
private String name;
private String address;
private int number;
public Employee(String name, String address, int number)
{
System.out.println("Constructing an Employee");
this.name = name;
this.address = address;
this.number = number;
}
public void mailCheck()
{
System.out.println("Mailing a check to " + this.name
+ " " + this.address);
}
public String toString()
{
return name + " " + address + " " + number;
}
public String getName()
{
return name;
}
public String getAddress()
{
return address;
}
public void setAddress(String newAddress)
{
address = newAddress;
}
public int getNumber()
{
return number;
}
}
邪譜和中議窃写覚Employee窃?
/* File name : Salary.java */
public class Salary extends Employee
{
private double salary; //Annual salary
public Salary(String name, String address, int number, double
salary)
{
super(name, address, number);
setSalary(salary);
}
public void mailCheck()
{
System.out.println("Within mailCheck of Salary class ");
System.out.println("Mailing check to " + getName()
+ " with salary " + salary);
}
public double getSalary()
{
return salary;
}
public void setSalary(double newSalary)
{
if(newSalary >= 0.0)
{
salary = newSalary;
}
}
public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}
}
孖壓厘断徙聾堋響和中議旗鷹?晦編公竃万議補竃潤惚?
/* File name : VirtualDemo.java */
public class VirtualDemo
{
public static void main(String [] args)
{
Salary s = new Salary("Mohd Mohtashim", "Ambehta, UP",
3, 3600.00);
Employee e = new Salary("John Adams", "Boston, MA",
2, 2400.00);
System.out.println("Call mailCheck using
Salary reference --");
s.mailCheck();
System.out.println("
Call mailCheck using
Employee reference--");
e.mailCheck();
}
}
塰佩潤惚泌和?
Constructing an Employee Constructing an Employee Call mailCheck using Salary reference -- Within mailCheck of Salary class Mailing check to Mohd Mohtashim with salary 3600.0 Call mailCheck using Employee reference-- Within mailCheck of Salary class Mailing check to John Adams with salary 2400.0箭徨嶄?厘断糞箭晒阻曾倖Salary斤嵆。匯倖聞喘Salary哈喘s?総匯倖聞喘Employee哈喘e。
園咎扮?園咎匂殊臥欺mailCheck()圭隈壓Salary窃嶄議蕗苧。
壓距喘s.mailCheck()扮?Java倡亭字(JVM)距喘Salary窃議mailCheck()圭隈。
咀葎e頁Employee議哈喘?侭參距喘e議mailCheck()圭隈夸嗤頼畠音揖議潤惚。
輝園咎匂殊臥e.mailCheck()圭隈扮?園咎匂殊臥欺Employee窃嶄議mailCheck()圭隈。
壓園咎議扮昨?園咎匂聞喘Employee窃嶄議mailCheck()圭隈刮屬乎囂鞘?
徽頁壓塰佩議扮昨?Java倡亭字(JVM)距喘議頁Salary窃嶄議mailCheck()圭隈。
乎佩葎瓜各葎倡亭圭隈距喘?乎圭隈瓜各葎倡亭圭隈。
Java嶄侭嗤議圭隈脅嬬參宸嶽圭塀燕孖?処緩?嶷亟議圭隈嬬壓塰佩扮距喘?音砿園咎議扮昨坿旗鷹嶄哈喘延楚頁焚担方象窃侏。
<貧匯准
和匯准>