1、定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。
package edu.uestc.avatar;
public class Circle {
private double radius;
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
/**
* 返回圆的面积
* @return
*/
public double findArea() {
return radius*radius*3.14;
}
}
package edu.uestc.avatar;
public class CircleDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Circle circle = new Circle();
circle.setRadius(5);
System.out.println("面积为:" + circle.findArea());
}
}
2、定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下:
public void printAreas(Cirlce c, int time)在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。在main方法中调用printAreas()方法,调用完毕后输出当前半径值。
package edu.uestc.avatar;
public class PassObject {
public <Cirlce> void printAreas(Cirlce c, int time) {
for(int i= 1 ;i<=time ; i++) {
((Circle) c).setRadius(i);
System.out.println(i+ " " + ((Circle) c).findArea());
}
}
}
package edu.uestc.avatar;
public class PassObjectDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Circle circle = new Circle();
PassObject passobject = new PassObject();
System.out.println("Radius Area");
passobject.printAreas(circle, 5);
}
}
3、定义一个士兵类Soldier;定义若干个属性;定义若干个方法(用来对属性进行操作,选一个方法做重载,写不少于3个重载的方法); 定义构造方法(用来对属性进行初始化等);定义一个场景类(含有main方法的类)进行测试(创建对象,调用方法);分别以一个java文件和两个java文件来实现以上功能,对比其异同。
package edu.uestc.avatar;
public class Soldier {
private String name;
private int aggressivity = 10;//攻击力
private int defense = 5;//防御力
private int health =100;//生命值
private int weapon = 0;
public Soldier() {
}
/**
* 自定义士兵信息(没有武器)
* @param name
* @param aggressivity
* @param health
*/
public Soldier(String name,int aggressivity,int defense,int health){
this.name = name;
this.aggressivity = aggressivity;
this.defense = defense;
this.health = health;
System.out.println("name: "+this.name+" 攻击力: "+this.aggressivity + " 防御力: " + this.defense+ " 生命值: "+ this.health + " 武器攻击力: "+ this.weapon);
}
/**
* 自定义士兵信息(有武器)
*/
public Soldier(String name,int aggressivity,int defense,int health,int weapon){
this.name = name;
this.aggressivity = aggressivity;
this.defense = defense;
this.health = health;
this.weapon = weapon;
System.out.println("name: "+this.name+" 攻击力: "+this.aggressivity + " 防御力: " + this.defense+ " 生命值: "+ this.health + " 武器攻击力: "+ this.weapon);
}
/**
* 攻击
*/
public void attack(Soldier enemy) {
System.out.println(this.name + "攻击" + enemy.name);
System.out.println("对" + enemy.name + "造成" + (this.aggressivity + this.weapon - enemy.defense) + "点伤害");
enemy.health -= (this.aggressivity + this.weapon - enemy.defense) ;
System.out.println(enemy.name + "剩余生命:" + enemy.health );
}
/**
* 用技能攻击
*/
public void attack(Soldier enemy,boolean attack_falg) {
System.out.println(this.name + "使用技能攻击" + enemy.name);
System.out.println("无视防御,对" + enemy.name + "造成" + (this.aggressivity + this.weapon) + "点伤害");
enemy.health -= (this.aggressivity + this.weapon) ;
System.out.println(enemy.name + "剩余生命:" + enemy.health );
}
}
package edu.uestc.avatar;
public class SoldierDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Soldier A = new Soldier("AA",15,6,200);
Soldier B = new Soldier("BB",13,8,180);
Soldier C = new Soldier("CC",20,7,140,20);//有武器
Soldier D = new Soldier("DD",17,10,160);//没有武器
System.out.println();
C.attack(A);
System.out.println();
C.attack(A, true);
System.out.println();
D.attack(B);
System.out.println();
D.attack(B, true);
}
}
4、创建一个学生类Student
1)为其添加三个属性 id name sex
2)添加两个构造方法分别初始化id name sex 和name sex并加入空的构造方法
3)编写一个方法show()使用this关键字显示出学生的所有信息
4)为学生类加入一个静态的属性address
5)创建两个学生对象,分别为address赋值。看其变化
6)根据显示情况画出其内存图
package edu.uestc.avatar;
public class Student {
private int id = 1;
private String name;
private boolean sex;
public static int address;
/**
* @param id
* @param name
* @param sex
*/
public Student(int id,String name,boolean sex) {
this.id=id;
this.name=name;
this.sex=sex;
}
/**
* @param name
* @param sex
*/
public Student(String name,boolean sex) {
this.name=name;
this.sex=sex;
}
/**
* 显示出学生的所有信息
*/
public void show() {
System.out.println("id:" + this.id + " name:" + this.name + " sex:" + this.sex + " address:" +this.address);
}
}
package edu.uestc.avatar;
public class StudentDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student1 = new Student("张三", true);
Student student2 = new Student(2,"李四", true);
student1.address = 1;
student2.address = 2;
student1.show();
student2.show();
}
}