class Father { private int moneyDollar=300; int moneyHK=200; int add(int x,int y) { return x+y; } } class Son extends Father{ int moneyRMB=900; public void changeMoneyHK(int x){ moneyHK=x; } public void changeMoneyRMB(int x){ moneyRMB=x; } int subs(int x,int y){ return x*y; } } class GrandSon extends Son{ int multi(int x,int y){ return x*y; } } public class Example5_1{ public static void main(String args[]) { int a=5,b=3; Son son=new Son(); GrandSon sunzi=new GrandSon(); son.changeMoneyHK(666); son.changeMoneyRMB(5000); System.out.println("兒子的港幣是繼承屬性,當前的值是:"+son.moneyHK); System.out.println("兒子的人民幣是新增的屬性,當前的值是:"+son.moneyRMB); System.out.printf("減法是兒子的新增功能,%d-%d等於%d\n:",a,b,son.subs(a,b)); System.out.printf("加法是兒子的繼承功能,%d+%d等於%d\n:",a,b,son.add(a,b)); System.out.println("孫子的港幣和人民幣都是繼承的屬性,當前的值是:"); System.out.printf("乘法是孫子的新增功能,%d*%d等於%d\n:",a,b,sunzi.multi(a,b)); System.out.printf("加法是孫子的新增功能,%d+%d等於%d\n:",a,b,sunzi.add(a,b)); System.out.printf("減法是孫子的新增功能,%d-%d等於%d\n:",a,b,sunzi.subs(a,b)); } }
class A{ private int x=10; protected int y=20; void f(){ y=y+x; System.out.printf("x=%d,y+%d\n",x,y); } } class B extends A{ void g(){ y=y+1; System.out.printf("y=%d\n",y); } } class Example5_2{ public static void main(String args[]){ B b=new B(); b.g(); b.f(); b.g(); } }
class A{ public double y=11.456789; public void f(){ y=y+1; System.out.printf("y是double型變量,y=%f\n",y); } } class B extends A{ int y=0; public void g(){ y=y+100; System.out.printf("y是int型變量,y=%d\n",y); } } class Example5_3{ public static void main(String args[]) { B b=new B(); b.y=200; b.g(); b.f(); } }
class A{ protected double x=8.0,y=0.888888; public void speak(){ System.out.println("我喜歡NBA"); } public void cry(){ y=x+y; System.out.printf("y=%f\n",y); } } class B extends A{ int y=100,z; public void speak(){ z=2*z; System.out.println("I love This Game"); } } class Example5_4{ public static void main(String args[]){ B b=new B(); b.cry(); b.speak(); } }
class A{ public int f(int x,int y) { return x+y; } } class B extends A{ public int f(byte x,int y){ return x*y; } } public class Example5_5{ public static void main(String args[]){ int z=0; B b=new B(); z=b.f(10,10); System.out.println(z); z=b.f((byte)10,10); System.out.println(z); } }
class A{ int x,y; A(){ x=100; y=200; } A(int x,int y) { this.x=x; this.y=y; } } class B extends A{ int z; B(int x,int y) { super(x,y); z=300; } B() { super(); z=800; } public void f(){ System.out.printf("x=%d,y+%d,z=%d\n",x,y,z); } } public class Example5_6{ public static void main(String args[]){ B b1=new B(10,20); b1.f(); B b2=new B(); b2.f(); } }
Bank.java public class Bank{ int savedMoney; int year; double interest; public double computerInterest(){ interest=year*0.035*savedMoney; System.out.printf("%d元存在銀行%d年的利息:%f元\n",savedMoney,year,interest); return interest; } } ConstructionBank.java public class ConstructionBank extends Bank{ double year; public double computerInterest(){ super.year=(int)year; double remainNumber=year-(int)year; int day=(int)(remainNumber*1000); interest=super.computerInterest()+day*0.0001*savedMoney; System.out.printf("%d元存在建設銀行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest); return interest; } } BankOfDalian.java public class BankOfDalian extends Bank{ double year; public double computerInterest(){ super.year=(int)year; double remainNumber=year-(int)year; int day=(int)(remainNumber*1000); interest=super.computerInterest()+day*0.0001*savedMoney; System.out.printf("%d元存在建設銀行%d年零%d天的利息:%f元\n",savedMoney,super.year,day,interest); return interest; } } Example5_7.java public class Example5_7{ public static void main(String args[]){ int amount=5000; ConstructionBank bank1=new ConstructionBank(); bank1.savedMoney=amount; bank1.year=5.216; double interest1=bank1.computerInterest(); BankOfDalian bank2=new BankOfDalian(); bank2.savedMoney=amount; bank2.year=5.216; double interest2=bank2.computerInterest(); System.out.printf("兩個銀行的利息相差%f元\n",interest2-interest1); } }
class A{ double n; int m; void f(){ System.out.printf("子類的繼承方法f(),n=%f,m=%d\n",n,m); } void g(){ System.out.printf("你好,n=%f,m=%d\n",n,m); } } class B extends A{ int n=12; void g(){ System.out.printf("子類重寫方法g(),n=%d,m=%d\n",n,m); } void cry(){ System.out.printf("子類新增的方法,n=%d,m=%d\n",n,m); } } public class Example5_8{ public static void main(String args[]) { A a; a=new B(); a.n=0.618; a.m=200; a.f(); a.g(); B b=(B)a; b.n=555; b.cry(); } }
class Animal{ void cry(){}; } class Dog extends Animal{ void cry(){ System.out.println("Wang!Wang!...."); } } class Cat extends Animal{ void cry(){ System.out.println("miao~~miao~~...."); } } public class Example5_9{ public static void main(String args[]){ Animal animal; animal=new Dog(); animal.cry(); animal=new Cat(); animal.cry(); } }
abstract class Geometry{ public abstract double getArea(); } class Pillar{ Geometry bottom; double height; Pillar(Geometry bottom,double height){ this.bottom=bottom; this.height=height; } void changeBottom(Geometry bottom){ this.bottom=bottom; } public double getVolume(){ return bottom.getArea()*height; } } class Lader extends Geometry{ double a,b,h; Lader(double a,double b,double h){ this.a=a;this.b=b;this.h=h; } public double getArea(){ return(1/2.0)*(a+b)*h; } } class Circle extends Geometry{ double r; Circle(double r) { this.r=r; } public double getArea(){ return(3.14*r*r); } } public class Example5_10{ public static void main(String args[]){ Pillar pillar; Geometry tuxing; tuxing=new Lader(12,22,100); System.out.println("梯形的面積"+tuxing.getArea()); pillar=new Pillar(tuxing,58); System.out.println("梯形的柱體體積"+pillar.getVolume()); tuxing=new Circle(10); System.out.println("半徑是10的圓的面積"+tuxing.getArea()); pillar.changeBottom(tuxing); System.out.println("圓形底的柱體的體積"+pillar.getVolume()); } }
interface Computable{ final int MAX=100; int f(int x); public abstract int g(int x,int y); } class A implements Computable{ public int f(int x){ return x*x; } public int g(int x,int y){ return x+y; } } class B implements Computable{ public int f(int x){ return x*x*x; } public int g(int x,int y){ return x*y; } } public class Example5_11{ public static void main(String args[]){ A a=new A(); B b=new B(); System.out.println(a.MAX); System.out.println(""+a.f(10)+""+a.g(12,6)); System.out.println(b.MAX); System.out.println(""+b.f(10)+""+b.g(29,2)); } }
interface showMessage{ void showTradeMark(); } class TV implements showMessage{ public void showTradeMark(){ System.out.println("我是電視機"); } } class PC implements showMessage{ public void showTradeMark(){ System.out.println("我是電腦"); } } public class Example5_12{ public static void main(String[] args) { showMessage sm; sm=new TV(); sm.showTradeMark(); sm=new PC(); sm.showTradeMark(); } }
interface Show{ void show(); } class A implements Show{ public void show(){ System.out.println("I love This Game"); } } class B implements Show{ public void show(){ System.out.println("我喜歡NBA"); } } class C{ public void f(Show s){ s.show(); } } public class Example5_13{ public static void main(String args[]) { C c=new C(); c.f(new A()); c.f(new B()); } }
Geometry.java public interface Geometry{ public abstract double getArea(); } Pillar.java public class Pillar{ Geometry bottom; double height; Pillar(Geometry bottom,double height){ this.bottom=bottom; this.height=height; } void changeBottom(Geometry bottom){ this.bottom=bottom; } public double getVolume(){ return bottom.getArea()*height; } } Lader.java public class Lader implements Geometry{ double a,b,h; Lader(double a,double b,double h){ this.a=a;this.b=b;this.h=h; } public double getArea(){ return(1/2.0)*(a+b)*h); } } Circle.java public class Circle implements Geometry{ double r; Circle(double r) { this.r=r; } public double getArea(){ return(3.14*r*r); } } public class Example5_14{ public static void main(String args[]){ Pillar pillar; Geometry tuxing; tuxing=new Lader(12,22,100); System.out.println("梯形的面積"+tuxing.getArea()); pillar=new Pillar(tuxing,58); System.out.println("梯形的柱體體積"+pillar.getVolume()); tuxing=new Circle(10); System.out.println("半徑是10的圓的面積"+tuxing.getArea()); pillar.changeBottom(tuxing); System.out.println("圓形底的柱體的體積"+pillar.getVolume()); } }
class NorthEast{ String land="黑土地"; } class China{ int x=10,y=10; LiaoNing dalian; China(){ dalian=new LiaoNing(); } void f(){ System.out.println("我是中國"); dalian.speak(); } class LiaoNing extends NorthEast{ int z; void speak(){ System.out.println("我是大連,z="+z+":"+land); } void g(){ z=x+y; f(); } } } public class Example5_15{ public static void main(String args[]){ China china=new China(); china.f(); china.dalian.g(); } }
abstract class Student{ abstract void speak(); } class Teacher{ void look(Student stu) { stu.speak(); } } public class Example5_16{ public static void main(String args[]) { Teacher zhang=new Teacher(); zhang.look(new Student() { void speak(){ System.out.println("這是匿名類中的方法"); } } ); } }
interface Show{ public void show(); } class A{ void f(Show s){ s.show(); } } public class Example5_17{ public static void main(String args[]) { A a=new A(); a.f(new Show(){ public void show(){ System.out.println("這是實現了接口的匿名類"); } } ); } }
public class Example5_18{ public static void main(String args[]){ int n=0,m=0,t=0; try{ t=9999; m=Integer.parseInt("8888"); n=Integer.parseInt("12s3a"); System.out.println("我沒有機會輸出"); } catch(Exception e){ System.out.println("發生異常"); n=123; } System.out.println("n+"+n+",m="+m+",t="+t); } }
class MyException extends Exception{ String message; MyException(int n) { message=n+"不是整數"; } public String getMessage(){ return message; } } class A{ public void f(int n)throws MyException{ if(n<0){ MyException ex=new MyException(n); throw(ex); } double number=Math.sqrt(n); System.out.println(n+"的平方根:"+number); } } public class Example5_19{ public static void main(String args[]) { A a=new A(); try{ a.f(28); a.f(-8); } catch(MyException e) { System.out.println(e.getMessage()); } } }
class Chorus<E,F>{ void makeChorus(E person,F yueqi){ person.toString(); yueqi.toString(); } } class 歌手{ public String toString(){ System.out.println("好一對美麗的茉莉花"); return ""; } } class 樂器{ public String toString(){ System.out.println("|3 35 6 116|5 56 5-|"); return ""; } } public class Example5_20{ public static void main(String args[]){ Chorus<歌手,樂器>model=new Chorus<歌手,樂器>(); 歌手 pengliyuan=new 歌手(); 樂器 piano=new 樂器(); model.makeChorus(pengliyuan,piano); } }
class 錐<E>{ double height; E bottom; public 錐(E b) { bottom=b; } public void computerVolume(){ String s=bottom.toString(); double area=Double.parseDouble(s); System.out.println("體積是:"+1.0/3.0*area*height); } } class Circle{ double area,radius; Circle(double r) { radius=r; } public String toString(){ area=radius*radius*Math.PI; return ""+area; } } class Rectangle{ double sideA,sideB,area; Rectangle(double a,double b) { sideA=a; sideB=b; } public String toString() { area=sideA*sideB; return ""+area; } } public class Example5_21{ public static void main(String args[]){ Circle circle=new Circle(10); 錐<Circle>coneOne=new 錐<Circle>(circle); coneOne.height=30; coneOne.computerVolume(); Rectangle rect=new Rectangle(10,20); 錐<Rectangle>coneTwo=new 錐<Rectangle>(rect); coneTwo.height=10; coneTwo.computerVolume(); } }
interface Computer<E,F>{ public void makeChorus(E x,F y); } class Chorus<E,F>implements Computer<E,F>{ public void makeChorus(E x,F y){ x.toString(); y.toString(); } } class 樂器{ public String toString(){ System.out.println("|5 6 3-|5 17 56|"); return ""; } } class 歌手{ public String toString(){ System.out.println("美麗的草原,我可愛的家鄉"); return ""; } } public class Example5_22{ public static void main(String args[]){ Chorus<歌手,樂器>model=new Chorus<歌手,樂器>(); 歌手 pengliyuan=new 歌手(); 樂器 piano=new 樂器(); model.makeChorus(pengliyuan,piano); } }