1.
*编写一个Car类,具有:
属性: 品牌(mark) - String类型
功能: 驾驶 void drive()
定义Car类的子类SubCar,具有:
属性: 价格(price)、速度(Speed) - int类型
功能: 变速 void speedChange(int newSpeed),把新速度赋值给 speed
定义主类E,在其main方法中创建SubCar类的两个对象:aodi和benchi的对象
并测试其对象的特性。*/
public class Work1 {
public static void main(String[] args) {
/*实例化对象SubCar*/
SubCar aodi = new SubCar();
/*子类对象调用父类的属性*/
aodi.mark = "奥迪";
System.out.println(aodi.mark);
/*子类调用父类的方法*/
aodi.drive();
/*在实例化对象的时候进行赋值*/
SubCar benchi = new SubCar(100,400);
System.out.println(benchi.price+" "+benchi.Speed);
}
}
/*第一个类是Car父类*/
class Car{
String mark;
/*构造父类的有参和无参的方法*/
public Car(){}
public Car(String mark){
System.out.println("我是父类的有参构造方法");
}
public void drive(){
System.out.println("我是父类的驾驶功能");
}
}
/*定义父类的子类SubCar*/
class SubCar extends Car {
int price;
int Speed;
public SubCar() {
}
public SubCar(int price,int Speed) {
this.price = price;
this.Speed = Speed;
System.out.println("我是子类的有参构造方法");
}
/*子类具有的方法*/
public void speedChange(int newSpeed){
this.Speed = newSpeed;
}
}
2.
package com.qf.exdentswork;
/*编写一个类Shape,声明计算图形面积的方法。
再分别定义Shape的子类Circle(圆)和Rectangle(矩形),
在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。*/
public class Work2 {
public static void main(String[] args) {
Ciycle ciycle = new Ciycle();
ciycle.radius = 10;
double ar = ciycle.cArea(10);
System.out.println("圆的面积:"+ar);
Ractangle ractangle = new Ractangle();
ractangle.length=10;
System.out.println("矩形的面积:"+ractangle.Rarea(+10));
}
}
/*shape:形状*/
class Shape{
/*定义一个常量 存的是PI的值*/
final static Double PI = 3.14;
/*定义一个变量存的是半径的值*/
double radius;
/*定义一个存储长度的变量*/
double length;
}
/*创建一个方法获取传入圆半径的值*/
/*public void getRadius(double radius){
this.radius= radius;*/
/*定义一个方法声明计算圆形的面积*/
/*public double circleArea(double radius) {
this.radius = radius;
return PI* getRadius(6)*radius;
}*/
class Ciycle extends Shape{
public double cArea(double r){
return PI * r * this.radius;
}
}
class Ractangle extends Shape{
public double Rarea(double length2){
return this.length*length2;
}
}
3.
/*3.定义一个人类,包括
属性:姓名、性别、年龄、国籍;
包括方法:吃饭、睡觉,工作。
(1)根据人类,
派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。
(2)根据人类,
派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是……自己想吧)。
(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。
(4)编写主函数分别对上述3类具体人物进行测试。*/
public class Work3 {
public static void main(String[] args) {
Stu s1 = new Stu("清华",007);
System.out.println("学生的学校:"+s1.school+",学生的学号:"+s1.sno);
/*学生对象调用自己的方法和父类的方法*/
s1.eat();
s1.sleep();
Worker w1 = new Worker("国企",10);
/*工人调用自己的方法*/
w1.work();
StuLeader stuLeader = new StuLeader();
/*调用他自己类的属性 和父类的属性 和间接父类的属性*/
stuLeader.meet();
stuLeader.eat();/*间接父类*/
stuLeader.work();/*调用直接父类的方法*/
}
}
class Person{
String name;
String sex;
int age;
String nationnalily;/*国籍*/
public Person(){
}
public Person(String name, String sex, int age, String nationnalily) {
this.name = name;
this.sex = sex;
this.age = age;
this.nationnalily = nationnalily;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
", nationnalily='" + nationnalily + '\'' +
'}';
}
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
public void work(){
System.out.println("工作");
}
}
/*(1)根据人类,
派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。
派生的意思就是继承*/
class Stu extends Person{
String school;
long sno;
public Stu(){
}
/*增加一个有参的构造方法进行的事情是传参*/
public Stu(String school ,long sno){
this.school =school;
this.sno = sno;
}
public Stu(String name, String sex, int age, String nationnalily, String school, long sno) {
super(name, sex, age, nationnalily);
this.school = school;
this.sno = sno;
}
@Override
public String toString() {
return "Stu{" +
"school='" + school + '\'' +
", sno=" + sno +
'}';
}
/*重写父类的工作方法Work*/
public void work(){
System.out.println("学习");
}
}
/*(2)根据人类,
派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是……自己想吧)。*/
class Worker extends Person{
String unit;
int workAge;
public Worker(){
}
public Worker(String unit,int workAge){
this.unit=unit;
this.workAge= workAge;
}
public void work(){
System.out.println("搬砖");
}
}
/*(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。
* 该类的父类是学生类*/
class StuLeader extends Stu{
String duty;
public void meet(){
System.out.println("开会");
}
}
4.
/*.西游记中,3个徒弟,共同的方法(吃斋,念佛,取经),
孙悟空自己的方法(除妖),
猪八戒自己的方法(牵马),
沙和尚自己的方法(挑行李)*/
public class Work4 {
public static void main(String[] args) {
Myth myth =new Myth();
myth.setName("西游记");
myth.getName();
System.out.println(myth.getName());
myth.name="西天取经";
System.out.println(myth.name);
Sun sun = new Sun();
sun.name="孙悟空";
System.out.println(sun.name);
sun.strike();
}
}
/*创建一个人物类 Myth:神话
* 共同的属性:就是三个人都有
* 放在一个父类*/
class Myth{
String name;
public Myth() {
System.out.println("这是一个神话剧本");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void eat(){
System.out.println("吃斋");
}
public void read(){
System.out.println("念经");
}
public void get(){
System.out.println("取经");
}
}
class Sun extends Myth{
/*孙悟空自己的方法(除妖)*/
public void strike(){
System.out.println("除妖");
}
}
class zhu extends Myth{
public void pull(){
System.out.println("牵马");
}
}
class Sa extends Myth{
public void choose(){
System.out.println("挑担");
}
}
|