Java面试题-Java基础(⑧)-继承
面试题
1.super和this的区别
this表示当前对象
super表示当前对象的父类信息
super是包含在this指向的范围以内的
2.分别说明方法重载和方法重写的特点
重载:同一个类中,或者父子类之间的方法,名称相同,参数列表不同,跟返回值访问权限无关
重写:子类重写父类方法,名称相同,参数列表相同,返回值相同或者是其子类,访问权限不能让严于父类,实例方法不能重写为静态方法,静态方法可以被继承,但是不能被重写,不能声明、抛出比父类更多的异常
3.静态方法中如何访问实例属性和方法?
先new对象,通过对象名加点访问
4.子类将继承父类的哪些内容?
访问权限允许的属性和方法
5.在同一个构造方法中可以同时使用this和super吗?
可以,但是不能同时访问本类以及父类的构造方法
6.类型转换的规则,举例说明
自动提升 byte b1 = 100; short s1 = b1:
手动下降 int a = 100; short s2 = (short)a;
7.static关键字可以修饰哪些内容,分别有什么特点
属性:不属于任何对象,属于整个类,可以被此类的所有对象共享,在内存中只存在一份,随着类的加载初始化
方法:本类直接访问,其他类通过类名加点访问。可以直接访问静态的信息,不能直接访问实例的信息。
代码块: 随着类的加载而执行,类只加载一次,所以静态代码块也只执行一次。多个静态代码块按照书写顺序执行。
8.对象创建的过程
1.将类信息文件加载到方法区(类只加载一次)2.在堆中开辟空间,实例属性有默认值3.将堆中的地址赋值给栈中的引用
9.继承关键字,java支持多继承吗
extends java只支持单根继承 即一个子类只能有一个直接父类
10.父类中书写哪些内容,
子类中书写哪些内容父类中书写各个子类共有的属性和方法子类中书写独有的属性和方法