java继承关系中成员变量,构造方法,成员方法的关系
Java继承中的成员关系
A:成员变量
a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单写那个名字就访问那个名字!
b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢?
子类的方法访问变量的查找顺序:
在子类方法的局部范围找,有就使用。
7 在子类的成员范围找,有就使用。
8 在父类的成员范围找,有就使用。
9 找不到,就报错。
B:构造方法
11 a:子类的构造方法默认会去访问父类的无参构造方法,因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。
12 是为了子类访问父类数据的初始化。---》 注意:子类每一个构造方法的第一条语句默认都是:super(); 调用父类无参构造。
b:父类中如果没有无参构造方法,怎么办?由于一个类在定义的时候系统默认给出无参构造,一旦我们给出了有参构造,那么午餐构造将不再给出,此时子类的构造方法将无法
的第一句默认super()将无法访问到无参构造无法为父类数据疾行初始化,因此导致报错。
子类通过super去明确调用带参构造,通过明确的调用指定的父类带参构造,为父类数据进行初始化。
子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造,this();
让父类提供无参构造,综上所述就是为了让父类先于子类数据进行初始化。
C:成员方法
a:子类的成员方法和父类中的成员方法名称不一样,这个太简单
b:子类的成员方法和父类中的成员方法名称一样,这个怎么访问呢?
通过子类对象访问一个方法的查找顺序:
在子类中找,有就使用
在父类中找,有就使用
找不到,就报错
()两个面试题:
A:Override和Overload的区别?Overload是否可以改变返回值类型?
B:this和super的区别和各自的作用?
()数据初始化的面试题
A:一个类的初始化过程
B:子父类的构造执行过程
C:分层初始化
1:方法重写和方法重载的区别?方法重载能改变返回值类型吗? 方法重写:
在子类中,出现和父类中一模一样的方法声明的现象。 方法重载:
同一个类中,出现的方法名相同,参数列表不同的现象。 方法重载能改变返回值类型,因为它和返回值类型无关。 Override:方法重写
Overload:方法重载 2:this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。 this:代表当前类的对象引用
super:代表父类存储空间的标识。(可以理解为父类的引用,通过这个东西可以访问父类的成员) 场景:
成员变量:
this.成员变量
super.成员变量
构造方法:
this(...)
super(...)
成员方法:
10:static关键字是什么?有什么特点?什么时候用呢?
static静态的意思,可以修饰成员变量和成员方法。 特点:
A:随着类的加载而加载
B:优先与对象存在
C:被所有对象共享
D:可以通过类名调用 什么时候用?
A:当一个成员被所有对象共享的时候。
B:工具类的时候。 11:静态变量和成员变量的区别
A:所属不同
B:内存位置不同
C:生命周期不同
D:调用不同 12:main方法各种修饰符及参数的解释?
public:权限修饰符,权限最大
static:可以不用创建对象
void:返回值给jvm无意义
main:一个方法名,大家都默认的
String[] args:接收键盘录入对象
Java继承中的成员关系A:成员变量a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢?子类的方法访问变量的查找顺序:在子类方法的局部范围找,有就使用。在子类的成员范围找,有就使用。在父类的成员范围找,有就使用。找不到,就报错。B:构造方法a:子类的构造方法默认会去访问父类的无参构造方法是为了子类访问父类数据的初始化b:父类中如果没有无参构造方法,怎么办?子类通过super去明确调用带参构造子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造让父类提供无参构造C:成员方法a:子类的成员方法和父类中的成员方法名称不一样,这个太简单b:子类的成员方法和父类中的成员方法名称一样,这个怎么访问呢?通过子类对象访问一个方法的查找顺序:在子类中找,有就使用在父类中找,有就使用找不到,就报错(9)两个面试题:A:Override和Overload的区别?Overload是否可以改变返回值类型?B:this和super的区别和各自的作用?(10)数据初始化的面试题A:一个类的初始化过程B:子父类的构造执行过程C:分层初始化
java继承关系中成员变量,构造方法,成员方法的关系的更多相关文章
- 谈谈java中成员变量与成员方法继承的问题
谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类:
- AJPFX总结面向对象中成员变量和成员方法的定义
//面向对象中成员变量和成员方法的定义格式:========================================= 成员变量定义在类中方法外,可以被该类中所有方法使用. ...
- C#的HttpModule中及Java的Servlet中成员变量乱用导致的不易重现的BUG
3年前写的在HttpModule中记录访问日志的代码,在最近使用日志数据分析登录账号的IP情况时,才发现了一个不易重现的BUG——日志中记录的登录账号出现串掉的情况.之所以这个时候才发现该问题,是因为 ...
- java初始化过程中成员变量
package day01; class Base{ int j; //1.j=0 Base(){ add(1); //2.调用子类add()方法 System.out.println(j); //4 ...
- Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法
面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...
- JAVA中类以及成员变量和成员方法的修饰符的总结
一 类的修饰符 java中的文件结构由大到小为:一个工程,一个工程下可以有许多包,每个包中可以有许多类. 类的修饰符分为 访问权限修饰符 和 ...
- 继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程
继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...
- JAVA之旅(八)——多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例
JAVA之旅(八)--多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例 学习是不能停止的 一.多态 我们今天又要学习一个新的概念了,就是多态,它是面向对象的第 ...
- java学习(二)多态中成员变量详解
今天我总结了一下java多态中成员变量的赋值与调用 举一个我当初做过的小案例: class Fu{ int num; void show(){} } class Zi extends Fu{ //in ...
随机推荐
- Android ListView与ExpandableListView设置分割线divider
listview设置分割线需要以下操作: lv.setDivider(getResources().getDrawable(R.drawable.diyline)); ExpandableListVi ...
- 取计算机特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)
以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT u ...
- Android --Android Stuido混淆签名打包
参考博客:Android studio 使用心得(五)—代码混淆和破解apk 参考博客:Android studio 使用心得(四)---android studio 多渠道打包 参考博客:Andro ...
- WinForm数字小键盘/WPF数字小键盘
模仿原本的WinForm触摸屏小键盘制作WPF触摸屏小键盘 原WinForm触摸屏小键盘样式(WinForm采用Krypton系列控件)如下图: Designer代码如下: // // BtnNum1 ...
- vmware虚拟机三种网络模式详解_转
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于L ...
- ios-chart 不支持渐变的底色 --- 后面支持了渐变
https://github.com/danielgindi/ios-charts/issues/186 后话,最近库更新了,可以支持渐变色
- Hadoop学习(4)-- MapReduce
MapReduce是一种用于大规模数据集的并行计算编程模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.其主要思想Map(映射)和Reduce(规约)都是从函数是编程语言中借鉴而来的 ...
- Nand Flash与Nor Flash的区别
区别:http://zhidao.baidu.com/question/1068445.html?qbl=relate_question_0&word=Serial%20Flash%20%D3 ...
- Linux内核源码分析方法
一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...
- PostgreSQL Replication之第十章 配置Slony(5)
10.5 给复制添加表和管理的问题 一旦我们增加了此表到系统中,我们可以将它添加到复制设置.这样做有点复杂.首先,我们必须创建我们自己的新表集合并把这个和我们已经有的表合并.因此,过一段时间,我们将有 ...