栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA学习笔记21.11.16(参考黑马程序员B站视频)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA学习笔记21.11.16(参考黑马程序员B站视频)

继承 一、概述

        继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。

        继承的格式:public class 子类名 extends 父类名{}

        范例:public class Zi extends Fu{}

        说明:Fu是父类,也称为基类、超类;Zi是子类,也称为派生类。

        继承中子类的特点:子类既可以有父类的内容也可以有自己特有的内容。

二、继承的好处和弊端

        继承的好处:

                            1.提高代码的复用性(多个类相同的成员可以放到一个类中)

                            2.提高代码的维护性(如果方法需要修改只要修改一处即可)

        继承的弊端:让类与类之间产生了关系,类的耦合性增强了,当父类变化时子类的实现不得不跟着改变,削弱了子类的独立性。

        什么时候使用继承?

        继承体现的关系:is a

        假设法:两个类A和B,若满足A是B的一种或者B是A的一种,就说明存在继承关系,可以使用继承,否则不能使用继承。

        范例:苹果和水果(√),猫和动物(√),猫和狗(×)

三、继承中变量的访问特点

        通过子类对象访问一个变量,首先在子类局部范围中找,然后在子类成员变量中找,最后在父类的成员变量中找,若找不到就报错,不考虑父亲的父亲。

四、super和this

        this:代表本类对象的引用

        super:代表父类存储空间的标识(可以理解为父类对象的引用 )

五、构造方法的访问特点

        子类中所有构造方法默认都会访问父类中的无参构造方法,因为子类会继承父类中的数据,可能还会使用到父类中的数据,所以子类初始化之前,一定要先完成父类数据的初始化,而且每个子类构造方法的第一句都是:super()。

        若父类中没有无参构造方法,只有带参构造方法,那么要么通过super关键字显示的调用父类的带参构造方法,要么手动给出无参构造方法(推荐自己给出无参构造方法)。

六、成员方法的访问特点

        通过子类对象访问一个方法,首先在子类成员部范围中找,然后在在父类的成员范围中找,若找不到就报错,不考虑父亲的父亲。

七、方法重写

        1.概述:子类中出现了和父类中一模一样的方法声明。

        2.应用:当子类需要父类的功能,而功能主体有自己特有内容时,可以重写父类中的方法,这样,既沿袭了父类的功能,又定义了子类特有的内容。

        注意:@override是一个注解,可以帮助我们检验重写方法的正确性。

        3.注意事项:私有方法不能被重写(父类的私有成员子类不能继承);子类方法访问权限不能更低(public>默认>private)。

八、继承的注意事项

        Java中类中支持单继承,不支持多继承,但是可以多层继承。子类中使用父类的带参构造方法时,需要手动调用父类的带参构造,并且在写了带参构造方法后需要手动给出无参构造方法。

修饰符 一、包         1.包的概述和作用

                包其实就是文件夹,为了方便对类进行管理。

                包的定义格式:package 包名;(多级包用,分开)

                范例:package com.iheima;

                带包的java类的编译和执行:

                        1)手动建包:a.按以前的方式编译java文件

                                              b.手动建包,在对应位置建立com文件夹然后在com下建itheima文件夹

                                               c.把.class文件放到itheima文件夹下

                                               d.带包执行:java com.itheima.HelloWorld

                        2)自动建包:javac -d . HelloWorld.java(d后面有个空格,“.”后面也有个空格)

        2.导包

                使用不同包下的类时要写类的全路径,为简化操作,可以使用导包操作。

                导包格式:import 包名;

                范例:import  cn.itcast.Teacher;

二、修饰符

        修饰符分为权限修饰符和状态修饰符。

        1.权限修饰符

        2.状态修饰符(final,static) 

                1)final:最终的意思,可以修饰成员方法、成员变量、类,final修饰的方法、变量和类是不可以被重写、修改和继承的;修饰基本类型变量时,数据值不能发生改变;修饰引用类型时,地址值不能发生改变,但是地址里面的内容可以改变。

                2)static:静止的意思,可以修饰成员变量和成员方法。static修饰的成员变量被类的所有对象共享(这也是判断是否使用静态关键字的条件),被static修饰的成员变量可以通过类名和对象名调用,推荐使用类名。

                访问特点:非静态的成员方法可以访问静态成员变量,非静态成员变量,静态成员方法,非静态成员方法;静态的成员方法可以访问静态成员变量,静态成员方法。

                总结:静态成员方法只能访问静态成员。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号