JAVA_SE_Day11

package关键字

  • 为了喊好的实现项目中类的管理,提供包的概念
  • 使用package来声明类或接口所属的包,声明在源文件的首行
  • 包属于标识符,需要遵循标识符的命名规范
  • 每"."一次,就代表一层文件目录
  • 同一个包下,不可以命名同名的类或接口

import关键字

  • import : 导入
  • 在源文件中显式的使用import结构导入指定包下的类或接口
  • 声明在包的声明和类的声明之间
  • 需要导入多个结构,并列写出即可
  • 使用“XXX.*”,表示可以导入XXX包下的所有结构
  • 如果使用的类或java.lang包下的,则不需要import(核心类库)
  • 使用的类或接口是本包下的,则不需要再导入可以省略
  • 如果在源文件中使用了不同包下的同名类,则必须至少有一个类需要以全类名的方式来显示( 全类名 包名+类名)
  • 使用"XXX.*"的方式表明可以调用XXX包下的所有结构,但是如果使用的是XXX子包下的类或接口,则需要import XXX.子包名
  • import static 可以导入指定类或接口中的静态结构 (属性 或 方法)

继承性(extends)

继承的优点

  • 减少代码的冗余,提高了代码的复用性
  • 便于功能的扩展
  • 为多态的使用提供了前提

继承的格式 : class A extends B {}

  • A : 子类,派生类,subclass
  • B : 父类,超类,基类,superclass
  • 一旦子类A继承了父类B以后,子类A就获取了父类B中声明的结构,属性和方法
  • 当父类声明为private的属性和方法,子类继承父类以后,子类仍然获取了父类中private的结构
    只是因为封装性的原因,使得子类不能直接调用父类的结构
  • 子类继承父类以后,还可以声明自己特有的属性或方法,实现功能的拓展

继承性的规定

  • 一个类可以被多个子类继承
  • -个类只能有一个父类
  • 子父类是相对的概念
  • 子类直接继承的父类称为: 直接父类 ,子类间接继承的父类称为:间接父类
  • 子类继承父类以后,就获得了直接父类和间接父类中声明的属性和方法

Object

  • 如果没有声明一个类的父类,则此类都继承与java.lang.Object;
  • 所有的java类都直接或间接的继承与java.lang.Object;
import java.util.Arrays;
import static java.lang.System.*;
public class Test {
	public static void main(String[] args) {
		String str = Arrays.toString(new int[] {1,2,3,4});
		out.println(str);
		
		// 继承性
		Person p = new Person();
		p.eat();
		p.sleep();
		
		Stduent s = new Stduent();
		s.eat();
		s.study();
		s.sleep();
		s.sky();
		
		SuperMan ss = new SuperMan();
		out.print(ss.toString());
	}

}
public class SuperMan {
	
	public void sky() {
		System.out.println("sky");
	}

}
public class Person extends SuperMan{
	String name;
	private int age;
	public Person() {
		
	}
	
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void eat() {
		System.out.println("eat");
	}
	public void sleep() {
		System.out.println("sleep");
	}
}

public class Stduent extends Person{
//	String name;
//	int age;
	String major;
//	public String getName() {
//		return name;
//	}
//	public void setName(String name) {
//		this.name = name;
//	}
//	public int getAge() {
//		return age;
//	}
//	public void setAge(int age) {
//		this.age = age;
//	}
	public String getMajor() {
		return major;
	}
	public void setMajor(String major) {
		this.major = major;
	}
	public Stduent() {
	}
	public Stduent(String name, int age, String major) {
		this.name = name;
		//  通过提供的公共方法修改属性
		this.setAge(age);
		this.major = major;
	}
//	public void eat() {
//		System.out.println("eat");
//	}
//	public void sleep() {
//		System.out.println("sleep");
//	}
	public void study() {
		System.out.println("study");
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临水而愚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值