java继承与多态

本文介绍了Java中的包和访问权限,强调了公共和缺省访问权限的作用,并展示了继承的概念和特性。通过创建交通工具父类Vehicles及小汽车Car和卡车Truck的子类,演示了如何利用继承共享属性和方法,以及如何在子类中扩展功能。此外,还讨论了修饰符的使用,如public、缺省、private和protected。
摘要由CSDN通过智能技术生成

继承与多态

在生活中,r保存文档时会经常使用文件夹,把不同类型的文档归类,然后分放到不同的文件夹中,便于管理和查找。

一.包

如果在程序中没有声明包,类将被存放在default的包中, default的包没有名称。不建议采用default包的形式,建议开发人员按照业务的需要创建用户自定义包。在程序中声明包的语法如下:

java
package < 包名>

在这里插入代码片

注意:声明一个包的语句必须写在类中的第一行。
如果要使用Java中存在的包,可以在程序中使用import语句导入包。在程序中导入包的格式如下:

import java.util.*; 
import java. util.ArrayList

一个包中具有缺省访问权限的成员只能在同一个包中被引用,如果一个包中的成员的访问权眼为public,那么这些成员才能被其他包中的类所引用。
1.public访问权限成员(类、属性和方法统称)
public成员可以被其他包中的类访问, public类中的protected成员可以被由它派生的在其他包中的子类访问。
2.缺省访问权限成员
缺省访问权限成员,只能被同一个包中的类访问,不被其他包中的类访问。

二.继承的概念和使用

知识要点
继承的定义和使用:继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出子类,进而构造更为复杂的子类,子类既有新定义的行为特征,又继承了原有类的行为特征。
继承的定义与使用
注意事项
圣剑类和长矛类都拥有相同的属性,可以抽离出一个父类,将相同属性定义在父类中,子类继承拥有。
继承的特性
子类继承父类后,可以拥有父类中定义的公共方法。

实践

实践:创建一个交通工具父类(Vehicles)以及;两个子类,分别是小汽车类(Car)和卡车类(Truck),显示出各类的相关信息。
(1)创建名为交通工具的父类(Vehicles) ,该类中有两个String类型的属性,商标(brand)和颜色(color),该类中还包含一个行驶(run)的方法,该方法中输出汽车的品牌+ “正在行驶” ,并通过调用该类的showinfo()方法,在控制台显示汽车商标和颜色。通过该类的有参构造方法初始化其成员属性。
(2)创建小汽车类(Car)继承Vehicles类,在该类中增加int型成员属性座位(seats)和showCar()方法,该方法用于在控制台显示小汽车的信息。
(3)编写卡车类(Truck)继承Vehicles类,添加float型成员属性载重(load)和showTruck0)方法,该方法用于在控制台显示卡车的信息。
(4)创建测试类VehiclesTest,在该类的主方法中完成需求中相关信息的输出。
(5)创建com.java.oriented,将上述类保存至该包中。

package com.test;

public class Vehicles {
String brand;
String color;
public void run() {
	System.out.println(this.brand+"正在行驶");
}
public void showInfo() {
	System.out.println("品牌:"+this.brand+"\t颜色:"+this.color);
	
}
public Vehicles(String brand,String color) {
	this.brand=brand;
	this.color=color;
}
package com.test;
public class Car extends Vehicles{
public Car(String brand, String color) {
		super(brand, color);
		
	}

public void showCar(int seats) {
	super.showInfo();
	System.out.println("我是一辆:"+this.brand+"\t我的颜色:"+this.color+"\t我有:"+seats+"个座位");
}

}
package com.test;

public class Truck extends Vehicles{
public Truck(String brand, String color) {
	super(brand, color);
}
public void showTruck(float load) {
	super.showInfo();
	System.out.println("我是一辆:"+this.brand+"\t我的颜色:"+this.color+"\t我的载重:"+load+"吨的材料");
}
}
package com.test;

public class Test3 {

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

}
重点

修饰符:
1.public 公共的;任何包下的内容都可以访问;
2.缺省修饰符;默认被当前的包访问;
3.private 私有的;被当前类下的范围访问;
4.protected;只能在当前包和不同包的子类访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值