JAVA基础总结二——继承、重写、重载相关知识点

1.继承:

1)目的:避免代码重复,有利于代码的重用

2)通过extends实现继承

3)父类/基类:所有子类所共有的属性和行为

子类/派生类:子类所特有的属性和行为

4)子类继承父类后,子类具有的方法:

子类方法+父类方法

5)一个父类可以有多个子类

一个子类只能有一个父类----单一继承

6)继承具有传递性

7)java规定:构造子类之前必须先构造父类

子类构造中若没有调用父类的构造,则默认super()来调父类的无参构造,若自己调了,则不再默认提供

super()调用父类构造,必须位于子类构造的第一句

2.super:指代当前对象的父类对象

用法:

super.成员变量名-------访问父类的成员变量

super.方法名()---------调用父类的方法

super()----------------调用父类的构造方法

3.向上造型:

1)父类型的引用指向子类的对象

2)能点出来什么,看引用的类型

4.方法的重写(Override):

1)发生在父子类中,方法名相同,参数列表相同,方法体不同

2)重写方法被调用时,看对象的类型

2.重写与重载的区别:----常见面试题

1)重写:父子类中,方法名相同,参数列表相同,方法体不同

遵循"运行期"绑定,根据对象的类型调用方法

2)重载:一个类中,方法名相同,参数列表不同,方法体不同

遵循"编译期"绑定,根据引用的类型绑定方法

3.package:

1)作用:避免类的命名冲突

2)包名可以有层次结构

3)建议:包名所有字母都小写

4)类的完全限定名: 包名.类名

import:

1)作用:声明类/引入类

2)同包中的类可以直接访问

不同包中的类想访问:

2.1)先import声明类再访问类(建议)

2.2)类的全称-----太繁琐(不建议)

5.访问控制修饰符:

1)public:公开的,任何类

2)private:私有的,本类

3)protected:受保护的,本类、子类、同包类

4)默认的:什么也不写,本类、同包类

类的访问修饰:public和默认的

类成员的访问修饰:如上4种都可以

6.static:静态的

1)静态变量:

1.1)由static修饰

1.2)属于类的,存在方法区中,只有一份

1.3)常常通过类名.来访问

1.4)何时用:所有对象的数据都一样时使用

2)静态方法:

2.1)由static修饰

2.2)属于类的,存在方法区中,只有一份

2.3)常常通过类名.来访问

2.4)没有隐式的this传递

静态方法中不能直接访问实例成员

2.5)何时用:方法的操作仅与参数相关而与对象无关时使用

3)静态块:

3.1)由static修饰

3.2)属于类的,类被加载期间自动执行

类只被加载一次,所以静态块也只执行一次

3.3)何时用:常常用于加载/初始化静态资源(图片、音频、视频...)

7.final:不能变

1)修饰变量:变量不能被改变

2)修饰方法:方法不能被重写

3)修饰类:  类不能被继承

原文地址:https://www.cnblogs.com/jiuguichanmao/p/9504832.html

时间: 2024-08-01 08:24:05

JAVA基础总结二——继承、重写、重载相关知识点的相关文章

java 基础(二)

java 基础(二)java 基础(二) 2016-2-1 by Damon 61. 编写多线程程序有几种实现方式 Java 5以前实现多线程有两种实现方法:一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活. 补充:Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的

Java基础——封装、继承、多态

Java基础--封装.继承.多态 --小实例快速成长 抽象: 1.目的:将复杂的东西简单化,将繁乱的内容有序化. 2.过程:对相同.相似的东西合而为一,对不同的内容进行归门别类. 3.结果:类.接口. 封装: 1.目的:化零为整,将零散的内容进行归属,进行权限控制. 2.过程:将某对象的属性.方法(功能)统一到其名下,并分别设置.适当的权限进行控制管理. 3.结果:对象,接口. 继承: 1.求大同存小异:在一个系列内,大部分都有的内容,就划归父类:子类将父类的内容继承过来,可以有自身的一些发展和

Java基础十二--多态是成员的特点

Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println(f.num);//是父类,答案是3 2,成员函数(非静态). 编译看左边,运行看右边. 因为成员函数存在覆盖特性. Fu f = new Zi();//f.show();输出的是子类里面的show方法 3,静态函数. 编译和运行都看左边. 静态函数不具备多态性,多态性是对象的多态性,然后静态函数不涉

java基础之【继承--->多态】内存图

执行流程 1:Animal a = new Cat(); 1.1:在栈中创建区域,类型为Animal,变量名:a; 1.2:在堆中new Cat();占用一块区域.地址值:[0x3a4] 1.3:spuer()实例化父类Animal. 1.3.1:new Animal();占用一块区域,地址值:0x3ab; 1.3.2:引用着在方法区中初始化[Animal中的所有方法,该引用为:[0x754]]. 1.3.3:将Animal()引用赋给spuer();spuer引用着Animal(); 1.4:

Java基础03 构造器与方法重载(转载)

显式初始化要求我们在写程序时就确定初始值,这有时很不方便.我们可以使用构造器(constructor)来初始化对象.构造器可以初始化数据成员,还可以规定特定的操作.这些操作会在创建对象时自动执行. 定义构造器 构造器(constructor)是一个方法.像普通方法一样,我们在类中定义构造器.构造器有如下基本特征: 构造器的名字和类的名字相同 构造器没有返回值 我们定义Human类的构造器: public class Test{    public static void main(String[

java基础(二章)

java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l  必须以字母.下划线 _ .美元符号 $ 开头 l  变量中,可以包括数字 l  变量中,不能出现特殊的符号,空格 l  java中的关键字(红色字体),不能做变量名 3.变量命名,遵循 骆驼命名法(变量由1个以上的单词组成,第1个单词首字母小写,后面单词的首字母大写) 二, 数据类型 a)        数字(整型int(整数).双精度浮点型double(小数)) b)        字符型(c

Java Web 学习笔记 第三章 java基础(二)

第三章 java基础(二) 一.转义符 转义字符是"\",通过转义字符,可表示一些特殊的字符. 例如: '\n'  表示回车 '\t'   表示 制表符字符,一个制表符表示向右跳8-10个字符 '\\'   表示\ '\''   表示单引号 '\"'  表示双引号 "\u4e2d"表示unicode编码对应的字符(汉字:中). 二.布尔类型的概念和用法 boolean 类型用来表示肯定或否定两种可能. boolean 常用在分支语句.循环语句中. true

java基础知识总结--继承和接口

什么是继承?什么是接口?他们之间的区别和联系是什么? 什么是继承? 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可.多个类称为子类,单独的那个类称之为父类,超类.或者是称为基类. 什么是接口? 接口在Java编程语言中是一个抽象类型,是抽象方法的集合,接口并不是类,编写接口的方法和类很相似,但是他们属于不同的概念,类描述对

黑马程序员——Java基础---面向对象之继承

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                                                 面向对象之继承  一:继承(extends) (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构.