JAVA基础编程——继承

本文详细介绍了JAVA中的继承特性,包括继承的实现、限制、覆写以及final关键字的使用。强调了JAVA不支持多重继承但允许多层继承,以及方法和属性覆写的规则,同时指出final用于防止类、方法的继承和覆写,以及变量的修改。
摘要由CSDN通过智能技术生成

面向对象的三大特性是封装、继承和多态。封装是将属性与外界隔离,同时由方法作为与外部的接口。而继承则是要解决代码重用的问题,利用继承可以从当前类派生出新的子类,也可以利用子类扩展更多的方法。

继承

继承实现

首先继承的语法为:

class Student extends Person {}

上面的语法能够从Person这个类中派生出Student这个类,也就是说JAVA中继承使用的是关键字extends。

看下边一段代码:

class Person {
    private String name;
	private int age;
	
	Person() {
	}
	
	Person(String name,int age) {
	    this.name = name;
		this.age = age;
	}
	
	void getInfo() {
	    System.out.println("Name is " + getName() + ",age is " + getAge());
	}
	
	public String getName() {
	    return name;
	}
	
	public int getAge() {
	    return age;
	}
	
	public void setName(String name) {
	    this.name = name;
	}
	
	public void setAge(int age) {
	    this.age = age;
	}
}

class Student extends Person{
	private int grade;
	
	Student() {
	}
	
	Student(String name,int age,int grade) {
	    super(name,age);
		this.grade = grade;
	}
	
	void getInfo() {
	    System.out.println("Name is " + getName() + ",age is " + getAge() + ",grade is " + getGrade());
	}
	
	public int getGrade() {
	    return grade;
	}
	
	public void setGrade(int grade) {
	    this.grade = grade;
	}
}

public class Demo {
    public static void main(String args[]) {
	    Student st = new Student();
		st.setName("wang");
		st.setAge(25);
		st.setGrade(5);
		st.getInfo();
	}
}

结果为:

Name is wang,age is 25,grade is 5

上面的代码可以看出:

  • 子类中可以添加父类中没有的属性和方法
  • 子类会继承父类中的属性和方法
  • 子类可以使用super方法调用父类的构造方法
  • 父类中的private属性,子类不能直接访问,只能通过getter方法访问,这点和C/C++不同
  • 子类会覆盖父类中不会产生重载的方法

继承限制

JAVA的语法区别于C/C++,在继承中也存在许多不同。这也就是JAVA对于继承所作的限制:

  • JAVA不允许多重继承,但是允许多层继承
  • 子类继承父类时,会继承父类中的全部操作,但是对于所有的私有操作属于隐式继承,而所有的非私有操作属于显示继承
  • 在子类对象构造前默认会调用父类的构造方法(默认使用无参构造),以保证先
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值