java中的继承

java中的继承

一、继承概述

1、提高了代码复用性,简化了代码

2、让类与类之间产生了继承关系,才有了后面多态特性的存在

注意:千万不要为获取其他类的功能而建立继承关系,必须要类与类之间存在继承关系

3、子类不能拥有父类中被private后的成员


二、java的多层继承

java中不支持多继承只支持单继承,因为多继承存在安全隐患,当多个父类定义了相同的成员,子类对象不确定运行哪一个,但java保留了这种机制,并用另一个方式来实现


三、子父类中的成员变量

1、成员变量

2、函数

3、构造函数

变量:this代表当前对象的引用,this.变量 首先在本类中找所需的这个变量,如果没有再在父类中找

super用于访问当前对象的成员 super.变量 直接在父类中找所需的变量

当子类和父类中有一样的函数时,当子类对象调用该函数,运行的是子类中的函数,如同父类中的函数被覆盖了一样,这种情况就是继承的另一种特性:重写(覆盖)

注意:1、子类覆盖父类时,必须要保证子类权限大于父类,负责会编译出错。

2、静态函数只覆盖静态的

记住:

重载:只看同名的方法的参数列表

重写:与父类方法一模一样



四、继承中的构造函数

有了子父类之后构造函数的特点:在对子类对象进行初始化的时候,父类的构造方法也会运行,那是因为子类的构造函数默认第一行有一条隐式的语句 super()

//继承概述
/*class Mammal{
	String name="张三";
	String buru="哺乳";
}
class Person extends Mammal{
	int age;
}
class student extends Person{
	String name="李四";
	void study(){
		System.out.println("在学校学习");
		System.out.println(this.name);
		System.out.println(super.name);
	}
	
}
class teacher extends Person{
	void teach(){
		System.out.println("在学校给学生上课");
	}
}
public class a6_45 {
	public static void main(String[]args){
	student a=new student();
	//a.name="张三";
	//a.age=18;
	//
	a.study();
	
	System.out.println(a.buru);
	}
}
*/
/*
 * 
 class Animal{
	String Type;
	void run(){
		System.out.println("在跳舞");
	}
	void show(){
		System.out.println("我是父类!");
	}
	void sleep(){
		System.out.println("动物在睡觉");
	}
}
class Cat extends Animal{
	void show(String a){
		System.out.println("猫在睡觉");
	}
}
class Dog extends Animal{
	void run(){
		Type="小花花";
		System.out.println(Type+"在边唱边跳");
	}
}
class a6_45{
	public static void main(String[]args){
		Cat a=new Cat();
		a.show("a");
		Dog c=new Dog();
		c.run();
		
	}
}
*/
class fu{
	String name;
	fu(){
		System.out.println("父类构造方法");
	}
}
class zi extends fu{
	zi(){
		System.out.println("子类构造方法");
	}
	zi(String n){
		this.name=n;
	}
}
 public class a6_45{
	public static void main(String[]args){
		zi a=new zi();
		//System.out.println(a);
	}
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值