java学习笔记3

面向对象编程

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.一个圆包含圆心和半径两个属性,定义一个圆,要求:

  1. 提供合理的构造器
  2. 提供方法,计算当前图形的面积
  3. 计算当前图形是否包含指定的点,方法名
    contains(Point)
  4. 计算当前图形是否包含坐标为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 
  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值