java面向对象第三章练习

1、在com.schools中创建学校类,里面有两个私有属性名字(name),成立时间(established)和四个protected方法:设置名字setName();设置成立时间setEstablished();以及获取名字getName();获取成立时间getEstablished()
在com.test中创建实例化对象,正常输出两个属性的值
写出protect、缺省修饰符和private不同访问级别的区别

package _4;
import _3.*;
public class _1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		_3._1 s=new _3._1();
		s.setName();
		s.setEstablished();
	}

}

package _3;
public class _1 {
	private String name;
	private String established;
//	设置名字
	public void setName() {
		this.name="周开伟";
		System.out.println(this.name);
	}
//	设置成立时间
	public void setEstablished() {
		this.established="2021-06-11";
		System.out.println(this.established);
	}
//	获取名字
	public void getName(String name) {
		this.name=name;
	}
//	获取成立时间
	public void getEstablished(String established) {
		this.established=established;
	}
}

2.创建一个交通工具父类(Vehicles)以及两个子类,分别是小汽车类(Car)和卡车类(Truck),显示出各类的相关信息。程序运行结果如图:
在这里插入图片描述

package _3;

public class Car extends Vehicles {
	int seats;
//	显示小汽车座位
	public void showCar() {
		System.out.println("我是一辆:"+this.brand+"\t我的颜色:"+this.color+"\t我有:"+this.seats+"个座位");
	}
	public void Car(int seats) {
		this.seats=seats;
	}
}

package _3;

public class Truck extends Vehicles {
	float load;
	public void showTruck() {
		System.out.printf("我是一辆"+this.brand+"\t我的颜色"+this.color+"\t我的载重%.2f吨的材料\n",load);
	}
	public void Truck(float load) {
		this.load=load;
	}
}

package _3;

public class Vehicles {
	String brand;
	String color;
	public void run() {
		System.out.println("我"+brand+"正在行驶");
	}
	public void showlnfo() {
		System.out.println("品牌:"+brand+"\t颜色:"+color);
	}
	public void Vehicles(String brand,String color) {
		this.brand=brand;
		this.color=color;
	}
}

package _3;

public class VehiclesTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Car s=new Car();
		s.Vehicles("阿斯顿马丁", "绿色");
		s.showlnfo();
		s.Car(6);
		s.showCar();
		s.run();
		Truck p=new Truck();
		p.Vehicles("东风小康", "蓝色");
		p.showlnfo();
		p.Truck(12);
		p.showTruck();
		p.run();
	}

}

在这里插入图片描述

总结:

  1. java继承的语法:
    [修饰符] class 子类名 [extends 父类名]{
    //类定义部分
    }
    2.方法的重载是指一个类中多个方法可以具有相同的方法名,但这些方法的参数必须不同,在执行时可以根据其参数个数与类型来判断要调用此方法是哪一种操作。
    3.如果子类包含与父类同名的方法,该现象被称为方法重写,也被称为方法覆盖。方法的覆盖是子类“隐藏”了父类中的方法,如果需要访问被子类覆盖的方法,则可使用super关键字调用父类被覆盖的实例方法。
    4.多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在编译时,可以通过父类的引用指向子类对象,而在运行时,则通过父类所指向的子类对象,调用子类中重父类的方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值