BAT基础知识准备系列1

1.面向对象的特征有哪些方面?怎么理解?

答:封装:类的私有化。保证代码和处理数据不受外部干扰。

  继承:通过子类继承父类,保留父类所有的状态和行为,同时又可以自己添加新的状态和行为。

  多态:重载(编译时多态)一个类中重名方法 参数个数,顺序,返回值不同。

     重写(运行时多态)子类继承父类。子类中有方法名和父类相同,并具体化实现功能。

2.访问修饰符public,private,protected,以及不写(默认)时的区别?

public:当前类,包内,子孙类,包外

private:当前类

protected:当前类,包内,子孙类

默认friendly:当前类,包内

3.String是基本数据类型嘛?

基本数据类型包括byte、int、char、long、float、double、boolean和short。 
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类

4.float f=3.4;是否正确?

正确写法:float f =(float)3.4 float f = 3.4f

5.java中有没有goto?

目前没有,java中的保留字。goto会影响可读性。

6.&和&&的区别?

&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。

7.解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

栈stack:对象的引用,函数调用。

堆heap:new关键字和构造器创建的对象。

静态区static area: 常量。

通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、"hello"和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。

 

 

 

 

posted on 2018-08-15 17:00  离夏  阅读(288)  评论(0编辑  收藏  举报