admin 管理员组

文章数量: 887154


2024年1月18日发(作者:language vision)

1、static关键字什么意思?java中是否可以覆盖一个private或者是static的方法?

“static”表明一个成员变量或者是成员方法可以在没有所属类的实例变量的情况下访问。

java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法与类的任何实例都不相关。

java中不可以覆盖private方法。因为private修饰的变量和方法只能在当前类中使用,如果是其他类继承当前类,继承类中是不能访问到private变量和方法的。

2、能否在static环境中访问非static变量?

不能。static变量是属于类的。当类被虚拟机载入时,会对static变量进行初始化。非static变量是属于实例的,这个时候实例还没有被创建,编译器会报错。

3、java基本类型,什么是自动拆装箱?

基本类型:byte,short,int,float,long,double,boolean,char

自动装箱:是java编译器在基本类型和对应的对象包装类型之间做一个转化。比如把int转化为Integer等等。反之为自动拆箱。

4、java的方法覆盖overriding和方法重载overloading是什么意思?

java中法重载发生在同一个类中有两个或者多个方法名字相同但是参数不同的情况。方法覆盖是子类重新定义父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。

5、java中,什么是构造方法?什么是构造方法重载?什么是复制构造方法?

当新对象被创建时,构造方法会被调用。每一个类都有一个构造方法,在没有给类提供构造函数时,编译器会自动创建一个默认的构造方法

java中构造方法重载和方法重载很相似。可以为一个类创建多个构造方法,每一个构造方法必须有它自己唯一的参数列表

6、java支持多继承吗?

不支持。只能支持单继承,即一个类只有一个父类。可以用implements实现多个接口扩展

7、接口与抽象类的区别

(1)接口中所有方法隐含都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法

(2)接口中声明的变量默认都是final,而抽象类可以包含非final的变量

(3)接口中成员函数默认都会public。抽象类的成员函数可以是private,protected或者public

(4)类可以不实现抽象类和接口声明中的所有方法,这种情况下,类也必须声明为抽象的

8、jdk与jre区别是什么?

java运行时环境(jre)是将要执行的java程序的java虚拟机,同时也包含了执行applet需要的浏览器插件。java开发工具包(jdk)是完整的java软件开发包,包含了jre,编译器和其他工具(比如:javadoc,java调试器),可以让开发者开发,编译,执行java应用程序。

9、什么是只传递和引用传递

值传递是对基本类型变量而言,传递是该变量的一个副本,改变副本不会影响原变量

引用传递一般是对于对象型变量而言,传递的是该对象地址的一个副本,改变副本,会影响原变量

10、进程和线程的区别?

进程是执行着的应用程序,线程是进程内部的一个执行序列。一个进程可以有多个线程


本文标签: 方法 变量 类型