笔试强训——Day2(选择题部分)

相关知识点请看:

继承相关知识点:http://t.csdn.cn/pF7wR

第一题

解析 

 C 和A之间虽然不是直接继承,但是B继承A,C集继承B,A也算是C的父类,可以联想到object类。

第二题

解析

 toLowerCase()方法:把字符串转换为小写,返回一个新的字符串。
源码:

 

第三题

解析

调用静态方法的时候不需要创建这个类的对象;

 补充知识:

static
静态变量
:如果在声明变量的时候使用了 static 关键字,那么这个变量就被称为静态变量。静态变量只在类加载的时候获取一次内存空间,这使得静态变量很节省内存空间。
静态方法
如果方法上加了 static 关键字,那么它就是一个静态方法:
静态方法属于这个类而不是这个类的对象;
调用静态方法的时候不需要创建这个类的对象;
静态方法可以访问静态变量。
静态方法不能访问非静态变量和调用非静态方法。
为什么 main 方法是静态的啊?

“如果 main 方法不是静态的,就意味着 Java 虚拟机在执行的时候需要先创建一个对象才能调用 main 方法,而 main 方法作为程序员的入口,创建一个额外的对象显得非常多余。
静态代码块
用一个 static 关键字,外加一个大括号括起来的代码被称为静态代码块。

静态代码块通常用来初始化一些静态变量;
静态代码先于 main() 方法执行。
 

第四题

 

解析

this和super 

this关键字主要有三个应用:
this调用本类中的属性,也就是类中的成员变量;
this调用本类中的其他方法;
this调用本类中的其他构造方法,调用时要放在构造方法的首行。
super关键字
该关键字主要作用:在子类方法中访问父类的成员。
【注意事项】
super和this关键字的比较:
this :代表本类对象的引用
super: 代表父类空间的标识
【相同点】

都是Java中的关键字
只能在类的非静态方法中使用,用来访问非静态成员方法和字段
在构造方法中调用时,必须是构造方法中的第一条语句,并且不能同时存在
【不同点】

  • this是当前对象的引用,当前对象即调用实例方法的对象,super相当于是子类对象中从父类继承下来部分成员的引用
  • 在非静态成员方法中,this用来访问本类的方法和属性,super用来访问父类继承下来的方法和属性
  • 在构造方法中:this(...)用于调用本类构造方法,super(...)用于调用父类构造方法,两种调用不能同时在构造方法中出现
  • 构造方法中一定会存在super(...)的调用,用户没有写编译器也会增加,但是this(...)用户不写则没有
  •  只能在非静态方法中使用

在子类方法中,访问父类的成员变量和方法:

  • 1.super.data在子类当中访问父类的成员变量
  • 2.super.func()在子类中访问父类的成员方法
  • 3.在子类构造方法中,super(...)调用父类构造时,必须是子类构造函数中第一条语句。
  • 4. super(...)只能在子类构造方法中出现一次,并且不能和this同时出现
  • 5.A虽然没有写构造方法,但是默认会有一个无参构造方法,并且方法内的第一行会有一个super(),调用父类的无参构造方法

注意:构造方法只要写了,默认的那个就会消失。

第五题

 解析

A虽然没有写构造方法,但是默认会有一个无参构造方法,并且方法内的第一行会有一个super(),调用父类的无参构造方法
注意:构造方法只要写了,默认的那个就会消失。
 

第六题

 

第七题

 

第八题

 

第九题

 

第十题

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值