简述java中继承的概念,单继承,访问修饰符的访问权限(Private、Default、Protected、Public)访问权限

什么是继承extends?:

继承是一种机制,通过继承机制,子类可以使用父类中属性和方法
父类----子类 一般 —特殊
父类:子类的共性抽象出来
子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法。

如果子类能够访问父类的d属性和方法,即是子类从父类中继承的属性和方法
(哪些属性和方法能被继承取决于子类能否突破父类的边界)

继承的特点:

1、继承只支持单继承,不能多继承

public class A extends B,C {} -> 这是错误的

2、继承支持多级继承

public class A extend B {}
public class B extend C {}

3、一个父类可以有多个子类

public class A extend C {}
public class B extend C {}

4、构造方法不能继承,也不能重写

私有方法可以继承,但不能被重写
静态方法可以继承,但不能被重写

构造方法不可被继承
原因:i.构造方法名必须和类名保持一致
ii. 子类中的内容要比父类中要多,构造过程相对父类较复杂,
需要子类有自己的构造方法

	属性和方法能否被继承,取决于访问修饰符
		                        本类       同包子类    非同包子类     其他  
		private(私有的)          √           ×            ×            ×
		default(默认的)          √           √            ×            ×
		protected(受保护的)      √           √            √            ×
		public(公开的)           √           √            √            √
		从严到宽
		
		i.所有的访问修饰符都可以修饰方法、构造方法、属性
		  只有 defaultpublic 能够修饰类
		ii.继承性:
			
	 - Private  私有的,本类内部  子类不能继承
	 - Default  本类内部+同包 可以访问    同包子类可以继承
	 - Protected  受保护的    本类内部+同包+不同包子类   子类可以继承
	 - Public   公开的  不受边界约束   子类可以继承


在这里插入图片描述

继承关系下的对象创建过程:
①在继承关系下,去构建子类对象,会先去构建父类对象
②i.分配空间(父类+子类)
ii.构建父类对象(初始化父类属性+调用父类构造方法)
iii.初始化子类属性
iv.调用子类构造方法

下面用一个程序来详细解释一下继承的使用:

	  class TestExtend{
   			public static void main(String[] args) {
			Dog dog = new Dog();
		//dog类里面并没有eat()和sleep()方法,所以dog对象调用的是父类的吃和睡觉方法;
			dog.eat();
			dog.sleep();
  			}
    	}
	    	
   		class Animal{ 
     			public void eat(){
   				System.out.println("吃吃吃");
   			}
   			public void sleep(){
   				System.out.println("睡觉,睡10个小时");
    		}
    	}   		
  		class Dog extends Animal{
	//这里不定义任何方法,	
}

Java中 的单继承:

java中是单继承
但是是多级继承,属性和方法可以进行逐级叠加
一个类最多只能有一个直接父类;extends 只能放一个类的类名;
体现了java的简单性: 即类之间会行成简单的树状结构

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

千里马不常有

整理不易,点滴助力就是不竭动力

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

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

打赏作者

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

抵扣说明:

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

余额充值