面向对象编程
1.中国人,北京人和美国人继承
public class People {
protected double weight,height;
public void speakHello() {
System.out.println("yayaya");}
public void averageHeight() {
height =173;
System.out.println("average height:"+height);}
public void averageWeight() {
weight =70;
System.out.println("average weight:"+weight);}}
public class ChinaPeople extends People{
public void speakHello() {
System.out.println("你好");
}public void averageHeight() {
height=168.78;
System.out.println("中国人的平均身高:"+height+"厘米")}
public void averageWeight() {
weight=60;
System.out.println("中国人的平均身高:"+weight+"厘米");}
public void chinaGongfu() {
System.out.println("坐如钟,站如松,睡如弓");}}
public class BeijingPeople extends ChinaPeople{
public void averageHeight() {
height=167;
System.out.println("中国人的平均身高:"+height+"厘米");}
public void averageWeight() {
weight=61;
System.out.println("中国人的平均身高:"+weight+"厘米");
}
public void beijingOpera() {
System.out.println("花脸,青衣,花旦和老生");}}
public class AmericanPeople extends People {
public void averageWeight() {
weight=75;
System.out.println("American is average weight:"+weight+"kg");}
public void americanBoxing() {
System.out.println("直拳,勾拳,组合拳");}}
public class Example {
public static void main(String[] args) {
ChinaPeople chinaPeople=new ChinaPeople();
AmericanPeople americanPeople=new AmericanPeople();
BeijingPeople beijingPeople=new BeijingPeople();
chinaPeople.speakHello();
americanPeople.speakHello();
beijingPeople.speakHello();
chinaPeople.averageHeight();
americanPeople.averageHeight();
beijingPeople.averageHeight();
chinaPeople.averageWeight();
americanPeople.averageWeight();
beijingPeople.averageWeight();
chinaPeople.chinaGongfu();
americanPeople.americanBoxing();
beijingPeople.beijingOpera() ;
beijingPeople.chinaGongfu();}}
2.一个圆包含圆心和半径两个属性,定义一个圆,要求:
- 提供合理的构造器
- 提供方法,计算当前图形的面积
- 计算当前图形是否包含指定的点,方法名
contains(Point) - 计算当前图形是否包含坐标为x,y的点,重载方法
public class Point {
int x;
int y;
public Point (int x){
this(x,x);}
public Point(int x,int y){
this.x=x;
this.y=y; }
public double distance(){
return Math.sqrt(this.x*this.x+this.y*this.y); }
public double distance(int x,int y){
return Math.sqrt((this.x-x)*(this.x-x)+(this.y-y)*(this.y-y)); }
public double distance(Point other){
return distance(other.x,other.y); }
public void distance(int x){
}}
public class Circle {
Point center;
double r;
//构造方法
public Circle(Point center,double r){
this.center=center;
this.r=r;
}
public Circle(int x,int y,double r){
this(new Point(x,y),r);
}
public double area(Circle s){
return Math.PI*(s.r*s.r);
}
public boolean contain(Point p){
double d=this.center.distance(p);
return d<=r; }
public boolean