面向对象三大关键字课后习题

1.static可修饰的内容有?修饰后的效果是什么?

  static可修饰的有属性,方法,代码块。修饰以后全类共享一份

2.静态方法为什么不能访问非静态成员?

  时间上静态方法先于对象产生,空间上一个静态方法不能确定对应哪个对象。

  静态代码执行期间还未产生对象,只有静态加载完才可能产生对象

3.什么叫类加载? 

  首次使用到某个类时,第二次用到不会加载。

  java_home:系统需要的class文件

  classpath:自己编写的class文件

4.静态代码块的执行时机与次数

 执行时机:加载时

 执行次数:一次

5.abstract可修饰的内容有?修饰后效果分别是?

  类:不能new对象,不能独立存在

  方法:称为抽象方法,只有方法声明,没有方法实现

6.子类继承抽象类有什么要求?

  时间父类的全部抽象方法

7.final可修饰的内容有?修饰后的效果分别是?

  类:最终类,不可被继承

  方法:最终方法,不可被覆盖

  变量:只能赋值一次

  基本数据类型:值不可变

  引用数据类型:地址不可变

8.不同变量的赋值时机?

  局部变量:显示初始化

  成员变量:使用前赋值,构造方法结束前赋值:显示初始块,动态代码块,构造方法中

  静态变量:使用前赋值:显示初始化,静态代码块

 

9.修饰符综合

  abstract final void m()  //  abstract要求由子类,final不允许有子类

  public void final m()   // final需要在返回值前

  static abstract void m()  //静态方法不允许覆盖

  private final void m()   //无所谓

  private abstract void m() //错误

  public static final void m() //公开的静态的不能覆盖的方法  //写的没有价值

 

  final static 修饰方法较少,修饰常量较多

10.父类引用指向子类对象,调用静态方法时的执行结果

 

posted @ 2020-05-05 16:09  路漫漫兮其修远  阅读(174)  评论(0编辑  收藏  举报