Java学习笔记(一)——继承

本文介绍了Java中的继承概念,旨在提高代码复用性和组织性。通过实例解释了父类与子类的关系,以及`extends`关键字的使用。详细阐述了继承的规则,包括访问修饰符的权限和方法重写。此外,还讨论了子类如何重写父类的方法,以及转型的操作。最后,提到了不同包和项目中类的访问权限规则。
摘要由CSDN通过智能技术生成

定义

继承是干啥的?

描述类与类(影响对象与对象)的关系。

因为类与类之间中有一些相同之处和不同之处,人们将这些相同的地方集合起来抽象成一个父类,便于使用一些他们共有的属性(不用每个类总是都要重写一遍相同的内容,只需要写不一样的地方就好了,省事儿!)。

举个栗子:

设置学生为父类,小学生,中学生,大学生都是他的父类。有一些共同属性例如,姓名学号,共同方法:学习、考试。

继承有什么内容

父类,子类

继承关键字

extends

继承的格式

public class 父类名{}

public class 子类名 extends 父类名(){}

子类如何继承父类?(继承规则)

  1. 子类可以继承父类的所有属性(eg:String name)和方法(函数 public void study(){})。
  2. 子类可以继承父类属性、方法的范围要求:访问修饰符

public > protected > 缺省 > private  (按照开放程度排序)

    补一下java项目的层级关系

  • 项目
  • src源程序
  • .java文件

类与类的存在关系:

不同项目:子类、父类之间不会跨项目使用的。

                  对象只可以用父类public属性、方法

同项目不同包:子类可以用父类public protected 属性、方法

                         对象可以用类的public 属性、方法。

同包不同类:子类可以用父类public protected 缺省 属性、方法

                      对象可以用类的public protected 缺省 属性、方法。

同一个类的括号里面,没有子类,自己的任何属性、方法都可以使用。

(父类里面建子类对象?只有私有属性、方法不可以使用

   父类里面建父类对象,任何属性、方法都可以使用、访问)

                                                

              Hero为父类,Battle为无关类,里面用到了父类、子类的对象,其他都是子类。

         3. 子类继承父类的时候要写路径,从.src下面开始写。(一般都会标红,然后右键import就可

             以自动插入。) 

         4. 子类可以重写父类的属性、方法。(具体要求见下方)

方法重写

什么是方法重写?

父类有一些方法函数,但是子类的具体执行情况各有不同,就可以自己写自己的这个方法。

(比如学习这个方法,小学生可能一天读一本书,耗费100点体力,但是中学生可以读10本书,耗费200点体力,大学生读半本书,耗费1000点体力。)

区别于方法重载:方法重载是因为方法函数名字相同,但是方法函数的传参不同,而执行不同的函数。与子类父类没啥关系。

重写规则

  1. 子类重写父类函数,函数名必须相同,传参必须相同(包括传参内容以及传参个数)。只有访问修饰符可以大于等于父类,方法体可以不同,。
  2. 方法重写之后按照子类的方法执行。()
  3. 当定义一个对象时出现一下情况:    父类名 对象名 = new 子类名();这时候该对象执行的是子类的重写函数。

转型

正经转型

必须强转:int a = 1.2; //会报错

                 正确的int a = (int)1.2;

类之间的转型

自动转型:

class A{}

class B extends A{}

A obj = new B{}   //obj是一个A类型的类,将B的方法和属性隐藏掉了。但如果B重写了A的某个方 

                              法,执行还是重写后的那个方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值