A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

16. 匿名对象是什么?应用场景是什么?
匿名对象就是没有名字的对象,由于没有指向,所以效率较高一些。

应用场景:
1、调用方法,但是仅仅只限调用一次而已
2、匿名对象用作实际参数传递

17. 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项是什么?
构造方法的作用是初始化数据
特点:
名称和类名一致,并且没有返回值类型的修饰和返回值
注意:
如果我们没有给构造方法,系统将给出一个无参构造方法;
如果我们给出了构造方法,系统将不再提供构造方法

18. 给成员变量赋值有几种方式?
1、通过set/get方法
2、通过带参构造

19. 方法重写和方法重载的区别?重载可以改变返回值类型吗?  
        方法重写:
                子类中出现和父类中一模一样的方法声明的方法
        方法重载:
                同一个类中,出现方法名相同,参数列表不同的方法
                跟返回值无关
        重载可以改变返回值类型,因为他跟返回值无关。

20. static关键字是什么?有什么特点?
static关键字:
是静态的意思,可以修饰类中成员变量和成员方法
静态的特点:
随着类的加载而加载、优先与对象而存在、被所有对象所共享、可以通过类名.静态的内容调用

21. this和super的区别,以及应用场景?   
        this        :        当前类的引用对象。谁调用代表谁
        super:        父类的存储空间标识。可以理解为父类对象,谁调用代表谁父亲
        应用场景:
                1、成员变量
                        this.成员变量                本类的成员变量
                        super.成员变量          父类的成员变量
                2、构造方法
                        this(...)                本类的构造方法
                        super(...)                父类的构造方法
                3、成员方法
                        this.成员方法()        本类的成员方法
                        super.成员方法()         父类的成员方法

22. 代码块是什么?代码块的分类有哪些及每种代码块的作用是什么?
用 { } 括起来的代码,就叫代码快

分为:
                1、局部代码快: 就是在方法中用 { } 括起来的代码
作用:
限定变量的生命周期,提高效率

                2、构造代码快:在类中,方法外。用 { } 括起来的代码
作用:
把所有构造方法中相同的内容抽取出来,定义到构造代码块中,将来在调用构造方法的时候,会去自动调用构造代码块,构造代码快优先于构造方法

        3、静态代码快:在类中、方法外。用 { } 括起来的代码,只不过加了static修饰
作用:
随着类的加载而加载,而且只加载一次的代码

23. 一个类的实例化过程有哪些步骤?
        Student s = new Student(); 在内存中到底执行了哪些步骤。

1、加载Sutdent.class文件进内存(类加载器)
2、在栈内存为 s 变量申请一个空间
3、在堆内存为Student对象申请空间
4、对类中的成员变量进行默认初始化
5、对类中的成员变量进行显示初始化
6、有构造代码块就先执行构造代码块,如果没有,则省略
7、执行构造方法,通过构造方法对对对象数据进行初始化
8、堆内存中的数据初始化完毕,把内存值复制给 s 变量

24. 继承是什么?继承的好处是什么?Java中的继承特点是什么?
继承:把多个类中相同的内容提取出来,定义到一个类中,然后让这多个类和这个类产生一个关系,这多个类就具备该类的数据了,这种关系叫:继承。
好处:
提高代码的复用性,提高了代码的维护性,让类与类之间产生了一个关系,是多态的前提
特点:
Java中类只能够单继承,不能够多继承,但是可以多层继承

25. 方法重写和重载有什么区别?重载可以改变返回值类型吗?
方法重写:子类中出现和父类一模一样的方法声明的方法
方法重载:同一个类中,出现的方法名相同,参数列表不同的方法
重载可以改变返回值类型,因为跟返回值无关

26. 子父类中构造方法的执行有什么特点?为什么要这样?
        子类构造方法的执行,首先会去执行父类的构造方法
        因为子类中可能直接访问了父类的数据,父类的数据要优先于子类的数据进行初始化

27. 静态代码块,构造代码块,构造方法的执行顺序是什么?
        静态代码块 -- 构造代码块 -- 构造方法

28. final关键字是什么,可以修饰什么,有什么特点?
final关键字:是最终意思,可以修饰类、方法、变量。
        修饰类:类不可以被继承。
        修饰方法:方法不可被重写
        修饰变量:变量为常量。

29. 多态是什么,前提是什么?
多态:对象在不同时刻表现出来的多种状态。是一种编译时期状态和运行时期状态不一致的现象
        成员变量:编译看左边,运行看左边。
        成员方法:编译看左边,运行看右边。因为,普通成员方法可以重写,变量不可以。
        静态方法:编译看左边,运行看左边。
        前提:
类与类之间要有继承关系。要有方法的重写。父类引用指向子类对象

30. 多态的好处及弊端?
好处:提高了程序的可维护性(前提要有继承保证),和扩展性
弊端:不能使用子类的特有功能

2 个回复

倒序浏览
楼主是自己搜集?
回复 使用道具 举报
Tokay 发表于 2019-1-8 10:58
楼主是自己搜集?

参考部分资料,然后整理列出常见的口述题,并简单的表达一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马