1.JAVA语言的三大特征:
封装:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起。
继承:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。
多态:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。
2.JAVA语言主要特征:
JAVA是易学的,强制面向对象的,分布式的,健壮的,安全的,体系结构中立的,解释型的,性能略高的,原生支持多线程的。
3.jdk和jre的区别,jdk是JAVA开发工具包,jre是JAVA运行环境。
4.JAVA基本数据类型:
byte,short,int,long,float,double,boolean,char。
封装类:
Byte,Short,Integer,Long,Float,Double,Boolean,Character
5.基本数据类型和对应的封装类,由于本质的不同,具有一些区别:
基本数据类型只按值传递,而封装类按引用传递。
基本类型会在栈中创建,而对于对象类型,对象在堆中创建,对象的引用在栈中创建,基本类型由于在栈中,效率会比较高,但是可能存在内存泄露的问题。
6.如果main方法被声明为private会怎么样?
能正常编译,但运行时会提示main方法不是public的,在idea中如果不用public修饰,则会自动去掉可运行的按钮。
7.说明一下public static void main(String args[])这段声明里每个关键字的作用:
public:main方法是JAVA程序运行时调用的第一个方法,因此它必须对JAVA环境可见。所以可见性设置为public。
static:JAVA平台调用这个方法时,不会创建这个类的一个实例,因此这个方法声明必须是static。
表示该方法是静态的,可以直接通过类名调用,不需要实例化对象。
void:main方法没有返回值。
String是命令行传进参数的类型,args是指命令行传进的字符串数组。
8.==和equals的区别是什么?
==是比较两个对象的引用是否相同,就是比较两个对象在内存中的地址是否相同。而equals比较的是两个对象的内容是否相同,即比较两个对象的属性值是否相同。
9.object有哪些公用方法?
Object类是Java中所有类的父类,因此所有的Java类都继承了Object类的公用方法。
- equals():比较两个对象是否相等。
- hashCode():返回对象的哈希码值。
- toString():返回对象的字符串表示。
- getClass():返回对象的运行时类。
- notify():唤醒在此对象监视器上等待的单个线程。
- notifyAll():唤醒在此对象监视器上等待的所有线程。
- wait():在此对象上等待,直到其他线程调用 notify() 或 notifyAll() 方法唤醒该线程。
- clone():保护方法,实现对象的浅复制。
10.为什么Java里没有全局变量?
因为Java是一种面向对象的编程语言,它强调封装性和数据隐藏,全局变量破坏了引用透明性原则,他会导致命名空间冲突和数据不安全的问题。
while循环和do循环有什么不同?
它们的主要区别在于循环条件的判断时机不同,while循环先判断循环条件,再执行循环体,如果循环条件为false,则不会执行循环体,do-while循环先执行一次循环体,然后再判断循环条件,如果循环条件为false,则退出循环,因此,do-while循环至少会执行一次循环体,而while循环可能一次都不执行。
::aru:blood2::