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

2021/11/17 1:10:01

本文主要是介绍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修饰的成员变量可以通过类名和对象名调用,推荐使用类名

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

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



这篇关于JAVA学习笔记21.11.16(参考黑马程序员B站视频)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程