Java课后例题第五章(1)

本文通过多个示例展示了Java中面向对象编程的基本概念,包括类、对象、构造器、方法重载、this关键字的使用以及继承的实际应用。示例涵盖了点、圆、学生、教师、员工等类的定义和交互,揭示了面向对象编程的核心思想和实践技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Ex5_1_Point {
   int x;
   int y;
   void init(int ix,int iy) {
	   x=ix;
	   y=iy;
   }
}
public class Ex5_2_Circle{
	public static void main(String[] args) {
		Circle c1,c2;
		c1=new Circle(10);
		Point p =new Point(9,8);
		c2 = new Circle(10,p);
		c2.setRadius(40);
		DecimalFormat df=new DecimalFormat("###,##0.00");
		System.out.println ("c1  面积= "+c1.getArea() +" \tc2  面 积 =   "+c2.getArea ());
		System. out. println("c1  周  长  =  "+df.format(c1.getCircumference())+"\tc 2 周 长 ="+df.format(c2.getCircumference()));
	}
}
class Circle{
	private Point p;
	private float radius = 0.0f;
	public   Circle(float r) {
		radius =r;
	}
   public Circle(float r,Point p) {
	this.p=p;
	radius=r;
  }
   public void setRadius(float r) {
	radius=r;
}
    public double getRadius() {
	return radius;
}
    public double getArea() {
	final   float PI =3.14f;
	float area;
	area = PI*radius*radius;
	return area;
}
   public double getCircumference() {
	final float PI=3.14f;
	float circumference;
	circumference  = 2*PI*radius;
	return  circumference;
}
}
class Point{
	int  x;
	
	int  y;
	public     Point() {
		x=0;
		y=0;
	}
	public Point(int x,int y) {
		this.x=x;
		this.y=y;
	}
}
public class Ex5_3_Oveerload {
     public static void main(String[] args) {
    	 Student s1,s2;
    	 s1=new Student();
    	 s2=new Student();
    	 s1.setInfo("赵强  ","20100038"," 山西太原");
    	 s2.setInfo(23.5f,"20100089");
    	 s2.getInfo(23.5f);
    	 s1.getInfo("山西太原 ");
     }
}
class Student{
	public String name;
	public String studentID;
	private String address;
	public String mobilePhone;
	protected String major;
	private float gpa;
	
	public void register() {}
		public float getgpa() {
			return gpa;
		}
		public void setgpa() {
			gpa=23.5f;
		}
		public void setInfo(String n,String ID) {
			name=n;
			studentID=ID;
		}
		public void setInfo(String n,String ID,String add) {
			name=n;
			studentID=ID;
			address=add;
		}
		public void setInfo(float g,String ID) {
			gpa=g;
			studentID=ID;
		}
		public void getInfo(float g) {
			System.out.println("学号:"+studentID+"\t 平均成绩点数"+g);
		}
		public void getInfo(String add) {
			System.out.println("学号:"+studentID+"\t 姓名:"+name+"\t地址:"+add);
		}
	}

public class Ex5_3_Oveerload {
     public static void main(String[] args) {
    	 Student s1,s2;
    	 s1=new Student();
    	 s2=new Student();
    	 s1.setInfo("赵强  ","20100038"," 山西太原");
    	 s2.setInfo(23.5f,"20100089");
    	 s2.getInfo(23.5f);
    	 s1.getInfo("山西太原 ");
     }
}
class Student{
	public String name;
	public String studentID;
	private String address;
	public String mobilePhone;
	protected String major;
	private float gpa;
	
	public void register() {}
		public float getgpa() {
			return gpa;
		}
		public void setgpa() {
			gpa=23.5f;
		}
		public void setInfo(String n,String ID) {
			name=n;
			studentID=ID;
		}
		public void setInfo(String n,String ID,String add) {
			name=n;
			studentID=ID;
			address=add;
		}
		public void setInfo(float g,String ID) {
			gpa=g;
			studentID=ID;
		}
		public void getInfo(float g) {
			System.out.println("学号:"+studentID+"\t 平均成绩点数"+g);
		}
		public void getInfo(String add) {
			System.out.println("学号:"+studentID+"\t 姓名:"+name+"\t地址:"+add);
		}
	}

public class Ex5_4_ConstructorOverload {
   public static void main(String [] args) {
	   Point p1=new Point();
	   Point p2=new Point(3,4);
	   System.out.println("p1的原点为 ("+p1.x+","+p1.y+")");
	   System.out.println("p2的原点为 ("+p2.x+","+p2.y+")");
   }
}
public class Ex5_5_this1 {
      public static void main(String[] args) {
    	  Cat garfield =new Cat("黄",12);
    	  garfield.grow();
    	  garfield.grow();
    	   }
}
class Cat{
	String furColor;
	int height;
	public Cat(String color) {
		this.furColor=color;
		this.cry();
	}
	public Cat(String color,int height) {
		this(color);
		this.height=height;
	}
	public void cry() {
		System.out.println("我是一只"+this.furColor+"颜色的猫");
	}
	public void grow() {
		this.height++;
		System.out.println("我长高了,身高为"+this.height);
	}
}
public class Ex5_6_this2 {
    int x=188,y;
    public static void main(String[] args) {
    	Ex5_6_this2 e=new Ex5_6_this2();
    	e.f();
    }
    void f() {
    	int x=3;
    	y=x;
    	System.out.println("y="+y);
    	y=this.x;
    	System.out.println("y="+y);
    }
}
public class Ex5_7_this3 {
     public static void main(String[] args) {
    	 Dog tom=new Dog();
    	 System.out.println("新生的tom身高:"+tom.height+"cm,年龄:"+tom.age);
    	 tom=tom.grow();
    	 System.out.println("长大后的tom身高:"+tom.height+"cm,年龄:"+tom.age);
     }
}
class Dog{
	int age;
	float height;
	public Dog() {
		age=1;
		height=10;
	}
	public Dog grow() {
		height=height+10;
		age++;
		return this;
	}
}
public class Ex5_8_this4 {
     public static void main(String[] args) {
    	 Annimal a=new Annimal(10,20);
    	 System.out.println("新生小动物");
    	 System.out.println("年龄="+a.age+"\t体重="+a.weight+"克\t身高="+a.height+"cm");
     }
}
class Annimal{
	int age;
	String furCorlor;
	String eyeColor;
	String name;
	float weight;
	float height;
	public Annimal(float height) {
		this.age=1;
		this.height=height;
	}
	public Annimal(String name) {
		this.age=1;
		this.name=name;
	}
	public Annimal(float height,float weight) {
		this(height);
		this.weight=weight;
	}
}
public class Ex5_9_Student {
      public static void main(String[] args) {
    	  Student1 zhangGang= new Student1(19,"山西太原","张刚",350);
    	  Teacher missLiu =new Teacher(35,"beijing","刘老师",2000,"102198");
    	  missLiu.question(zhangGang);
      }
}

class Student1{
	public int studentAge;
	protected String studentAddr;
	String studentName;
	private int studentAccount;
	public Student1(int studentAge,String studentAddr,String studentName,int studentAccount) {
		this.studentAccount=studentAccount;
		this.studentAddr=studentAddr;
		this.studentAge=studentAge;
		this.studentName=studentName;
	}
	public Student1() {
		this.studentAge=18;
	}
}
class Manger extends Student1{
	
void getStudentInformation(){
	System.out.println("name is"+studentName);
	System.out.println("age is"+studentAge);
	System.out.println("addr is"+studentAddr);
    }
}
class Teacher{
	public int age;
	protected String addr;
	String name;
	private int account;
	String teacherID;
	public Teacher(int age,String addr,String name,int account,String teacherID) {
		this.age=age;
		this.addr=addr;
		this.name=name;
		this.account=account;
		this.teacherID=teacherID;
	}
	public void SetInfo(String teacherID) {
		this.teacherID=teacherID;
	}
	public void question(Student1 s) {
		System.out.print(s.studentAddr+"\t"+s.studentAge+"\t"+s.studentName);
	}
}
import course.*;
public class Ex5_10_Assitanter {
	public static void main(String[] args) {
   Examination exam;
   Student1 zhangGang= new Student1(19,"山西太原","张刚",350);
   Teacher missLiu =new Teacher(35,"beijing","刘老师",2000,"102198");
   ComputerCourse c1=new ComputerCourse(missLiu,"12345",3.5f,"必修","JAVA语言程序设计","5");
   c1.putInfo();
   exam=new Examination(zhangGang,c1,55f);
   exam.putCredit();
   System.out.println();
  }
}
class Examination{
	Student1 student;
	float score;
	Course course;
	public Examination(Student1 student,Course course,float score) {
		this.student=student;
		this.course=course;
		this.score=score;
	}
	public float putCredit() {
		float c=0.0f;
		if(score>=60) {
			c=course.credit;
			System.out.println("通过考试,实际学分为"+c);
		}
		if(score<60) {
			c=0;
			System.out.println("未通过考试,实际学分为"+c);}
			return c;
		}
	}
	class ComputerCourse extends Course{
		Teacher teacher;
		public ComputerCourse(Teacher teacher,String courseID,float credit,String courseCharacter,String description,String term) {
			super(courseID,credit,courseCharacter,description,term);
			this.teacher=teacher;
		}
		public void putInfo() {
			System.out.println("课程编号"+courseID);
			System.out.println("学分"+credit);
			System.out.println("课程性质"+courseCharacter);
		}
	}


	
public class Ex5_11_setGet {
   public static void main(String[] args) {
	   Student2 s1;
	   s1=new Student2();
	   s1.setgpa(26.5f);
	   s1.setInfo("赵强","20100038","山西太原");
	   s1.getInfo();
   }
}
class Student2{
	public String name;
	public String studentID;
	private String address;
	public String mobilePhone;
	protected String major;
	private float gpa;
	public float getgpa() {
		return gpa;
	}
	public void setgpa(float gpa) {
		this.gpa=gpa;
	}
	public void setInfo(String n,String ID,String add) {
		name=n;
		studentID=ID;
		address=add;
	}
	public void setInfo(float g,String ID) {
		gpa=g;
		studentID=ID;
	}
	public void getInfo() {
		System.out.println("学号"+studentID+"\t姓名:"+name+"\t地址:"+address+"\t总学分绩点:"+gpa);
	}
}
public class Ex5_12_Inheritance {
     public static void main(String[] args) {
    	 Manager mrZhang=new Manager();
    	 mrZhang.setName("张刚");
    	 mrZhang.setDepartment("教务处");
    	 mrZhang.setSalary(2500);
    	 mrZhang.setSpecial("教务处处长");
    	 mrZhang.setSubsidy(500);
    	 System.out.println("**********员工信息**************");
    	 System.out.println();
    	 System.out.print(mrZhang.toString());
     }
}
class Employee{
	protected String name;
	protected double salary;
	protected String department;
	public void setName(String name) {
		this.name=name;
	}
	public void setSalary(double salary) {
		this.salary=salary;
	}
	public void setDepartment(String department) {
		this.department=department;
	}
	public String getName() {
		return name;
	}
	public double getSalary() {
		return salary;
	}
	public String getDepartment() {
		return department;
	}
	public String toString() {
		return"姓名:"+"\t部门"+department+"\t基本工资:"+salary;
	}
}
class Manager extends Employee{
	private String special;
	private double subsidy;
	public void setSpecial(String special) {
		this.special=special;
	}
	public void setSubsidy(double subsidy) {
		this.subsidy=subsidy;
	}
	public String getSpecial() {
		return special;
	}
	public double getSubsidy() {
		return subsidy;
	}
	public String toString() {
		return"姓名:"+name+"\t部门:"+department+"\t职务:"+special+"\t基本工资:"+salary+"\t津贴:"+subsidy;
	}
}

public class Ex5_13_Super1 {
    public static void main(String[] args) {
    	AClass aClass=new AClass();
    	BClass bClass =new BClass();
    	aClass.p1();
    	bClass.p1();
    }
}
class AClass{
	int a;
	float a1;
	public AClass() {
		a=50;
		a1=99.99f;
	}
	public void p1() {
		System.out.println("this is a method of A");
		
	}
}
class  BClass extends AClass{
	int a;
	public BClass(){
		a=10;
		a1=123.6f;
	}
	public void p1() {
		System.out.println("this is a method of B");
		System.out.println("a="+a);
		super.p1();
		System.out.println("super.a="+super.a);
	}
}
public class Ex5_14_SuperUse {
     public static void main (String [] args) {
    	 SubClass sc1=new SubClass();
    	 SubClass sc2=new SubClass(400);
     }
}
class SuperClass{
	private int n;
	SuperClass(){
		System.out.println("SuperClass()");
		
	}
	SuperClass(int n){
		System.out.println("SuperClass("+n+")");
		this.n=n;
	}
}
class SubClass extends SuperClass{
	private int n;
	SubClass(int n){
		
			super();
			System.out.println("SubClass("+n+")");
			this.n=n;
		}
		SubClass(){
			super(300);
			System.out.println("SubClass()");
		}
	}
public class Ex5_15_super {
    public static void main(String [] arg) {
    	Doctor d= new Doctor("wang",1,"wu");
    }
}
class Doctor{
	String name;
	int ID;
	String address;
	public Doctor(String namel,int ID1,String address1) {
		name=namel;
		ID=ID1;
		address=address1;
		System.out.println("名字"+name);
		System.out.println("编号"+ID);
		System.out.println("地址"+address);	
	}
	public Doctor() {
		
	}
}
class Specialist extends Doctor{
	public Specialist (String name1,int ID1,String address1) {
		super(name1,ID1,address1);
	}
	public Specialist() {
		super();
		name="10";
	}
}
public class Ex5_16_Convert {
    public static void main(String [] args) {
    	C c= new D();
    	c.n=3.1415926;
    	c.m=186;
    	c.f();
    	c.g();
    	D d=(D)c;
    	d.n=555;
    	d.f();
    	d.g();
    	d.cry();
    }
}
class C{
	int m;
	double  n;
	void f() {
		System.out.println("被子类继承的方法f()");
	}
	void g() {
		System.out.println("你好,n="+n+"m="+m);
	}
}
class D extends C{
	int n=12;
	int w;
	void g() {
		System.out.println("子类重写方法g(),n="+n+"m="+m);
	}
	void cry() {
		System.out.println("子类新增的方法");
	}
}
public class Ex5_17_Convert {
   public static void main(String[] args) {
	   TaxRate taxRate = new TaxRate();
	   Manager2 manager = new Manager2();
	   taxRate.findTaxRate(manager);
   }
}
class TaxRate{
	void findTaxRate(Employee2 e) {
	}
}
class Employee2{
	
}
class Manager2 extends Employee2{
	
}
public class Ex5_18_Convert {
    public static void main(String[] args) {
    	Lady missLiu =new Lady();
    	missLiu.pet=new Dog2();
    	missLiu.petEnjoy();
    	Lady missWang=new Lady();
    	missWang.pet=new Bird();
    	missWang.petEnjoy();
    }
}
class Lady{
	Pet pet;
	void petEnjoy() {
		pet.enjoy();
	}
}
class Pet{
	int name;
	void enjoy() {
		System.out.println("宠物高兴");
	}
}
class Bird extends Pet{
	void enjoy() {
		System.out.println("喳喳。。。。");
	}
}
class Dog2 extends Pet{
	void enjoy() {
		System.out.println("汪汪。。。。");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值