1.char型变量中能不能存贮一个中文汉字?为什么? 一个字符占几个字节?
在Java中,char类型占2个字节,而且Java默认采用Unicode编码,一个Unicode码是16位,占两个字节,Java中无论汉字还是英文字母都是用Unicode编码来表示的。所以,在Java中,char类型变量可以存储一个中文汉字。
2.面向对象思想?
面向对象是相对于面向过程而言的,面向过程的思想解决问题的方式是:根据上一步的结果来确定下一步应该做什么,解决问题是的执行者是程序员自己,而面向对象是将整个问题中涉及到的人或物建立成对象,并赋予相应的功能,在解决问题时,直接调用每个对象相应的功能,将程序员由执行者变为指挥者,更适合人们的思维习惯。
3.this关键字代表什么?
this代表的对象,那个对象调用了this所在的函数,this就代表哪个对象。
4.思考下面的问题
Person p = new Person(); (掌握,面试题)
它在内存中做了哪些事情?(演讲内容)
答案:
A:将Person.class文件加载到内存中。
B:在堆内存中创建一个对象Person。
C:把Person中的属性进行默认初始化。
D:把Person中的属性进行显示初始化。
E:调用构造代码块(如果没有,不执行这个操作)。
F:调用构造函数进行初始化。
G:在栈内存中声明Person类型的变量P。
H:把堆内存的地址(引用)赋给了栈内存中P。
1,因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。
2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。
3,在堆内存中开辟空间,分配内存地址。
4,在堆内存中建立对象的特有属性。并进行默认初始化。
5,对属性进行显示初始化。
6,对对象进行构造代码块初始化。
7,对对象进行对应的构造函数初始化。
8,将内存地址付给栈内存中的p变量。
5.4.接口特点:(掌握,演讲面试题)
A:接口是对外暴露的规则
B:接口是功能的扩展
C:接口降低了程序的耦合性。
**内聚(自己实现功能的能力)
**高内聚,低耦合。
举例:主板和CPU,USB接口,电源插座。
D:扩展说了下接口的理解
**狭义的理解就是java中的接口
**广义的理解就是:任何定义的规范都是接口。
6.5.接口和抽象类的区别:(掌握,演讲面试题)
A:抽象类只能被单继承;接口可以被多实现。
B:抽象类中的成员:
成员变量:可以是常量,也可以是变量。
成员方法:可以是抽象的,也可以是非抽象的。
构造方法:虽然不可以创建对象,但是可以给子类实例化用。
接口中的成员:
成员变量:只能是常量。默认修饰符 public static final
成员方法:只能是抽象的。默认修饰符 public abstract
C:抽象类中定义的是体系结构中的共性的内容。
接口中定义的是对象的扩展功能。
D:抽象类被继承表示的是:"is a"的关系。xx是yy中的一种。
接口被实现表示的是: "like a"的关系。xx像yy中的一种。
7.构造器Constructor是否可被override?
不可以 ,每一个类必须有自己的构造函数,负责构造自己这部分的构造子类不会覆盖父类的构造函数,相反必须负责在一开始调用父类的构造函数。
Constructor不能被继承,所以Constructor也就不能被override,但是可以overload,所以你可以看到有多个构造函数这种情况。
6.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,抽象类
8.是否可以从一个static方法内部发出对非static方法的调用?(面试题)
答案:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。
9.String是最基本的数据类型吗? (面试题)
String不是最基本的数据类型,String是引用数据类型,用String定义的字符串变量,实际是一个String类型的对象,可以调用String类中的方法。
10.是否可以继承String类?(面试题)
String类是被final修饰的类,所以不能被继承。
未完待续。。。。
黑马币看着给吧:# |