Java面对对象第三章(2)
一.多态:
1.重载:一个类中具有相同的方法名,但这些方法的参数和个数不同。
注意: 同一个类中方法名相同,参数列表不同。 返回值类型不能用于区分方法的重载。
2.重写:子类包含和父类同名的方法。 方法的重写应该要遵循“两同两小一大”规则。
3.注意: 构造方法不能被继承。 构造函数不能被重写。
二.作业
1.创建database父类,创建CD和DVD子类,并且CD子类增加artist特色,DVD子类增加director特色,最后用print方法输出。
package com.chapter2;
public class database {
String title;
int playtime;
String isBrrow;
public database(String title,int playtime,String isBrrow){
this.title = title;
this.playtime=playtime;
this.isBrrow=isBrrow;
}
public void print(){
System.out.printf("标题:%s\t播放时间:%d\t是否外借:%s\n",title,playtime,isBrrow);
}
}
package com.chapter2;
public class CD extends database {
String artist;
public CD(String title,int playtime,String isBrrow,String artist){
super(title,playtime,isBrrow);
this.artist=artist;
}
public void print(){
System.out.printf("标题:%s\t艺术家:%s\t播放时间:%d\t是否外借:%s\n",title,artist,playtime,isBrrow);
}
}
package com.chapter2;
public class DVD extends database {
String director;
public DVD(String title,int playtime,String isBrrow,String director){
super(title,playtime,isBrrow);
this.director=director;
}
public void print(){
System.out.printf("标题:%s\t导演:%s\t播放时间:%d\t是否外借:%s\n",title,director,playtime,isBrrow);
}
}
package com.chapter2;
public class Test {
public static void main(String[] args) {
database cd1= new CD("起风了",3,"是","辣椒");
database cd2= new CD("上号",3,"是","把门那样");
cd1.print();
cd2.print();
database dvd1= new DVD("一出好戏",3,"否","黄渤");
dvd1.print();
}
}
2.创建面积父类,里面有长和宽变量,在面积类中用长、宽计算面积。
创建体积子类,里面有高变量,继承面积父类,计算体积。
package com.chapter3;
public class Rectangle {
int l;
int w;
public Rectangle(int l,int w){
this.l=l;
this.w=w;
}
public int getArea(){
return l*w;
}
}
package com.chapter3;
public class Rectangular extends Rectangle {
int h;
public Rectangular(int l,int w,int h){
super(l,w);
this.h=h;
}
public int getVolume(){
return l*w*h;
}
}
package com.chapter3;
public class Test {
public static void main(String[] args) {
Rectangle le = new Rectangle(12,3);
System.out.println("长方形的面积:"+le.getArea());
Rectangular ular = new Rectangular(12,3,4);
System.out.println("长方体的面积:"+ular.getVolume());
}
}