整理了几个课本上Java问题

简述path环境变量的作用?
1、PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,
它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下
的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,
设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
2、CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找
到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中
的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
3、JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件
就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

请说出你对jvm的理解
1、Java虚拟机与程序的生命周期
(1):程序正常执行完,进程结束
(2):System.exit()方法来终止程序执行,传入参数为0,代表正常退出
(3):程序出现异常或者错误导致虚拟机进程退出
(4):操作系统出现错误导致虚拟机进程退出
2、类的加载、连接以及初始化
(1)加载:查找并将磁盘上的.class文件(字节码文件,二进制数据)加载到内存中
(2)连接:
1.验证:验证被加载类的准确性
2.准备:为类的静态变量分配内存以及初始化为默认值(此时a的值为0)
3.解析:将类中的符号引用转换为直接引用
(3)初始化:为类的静态变量赋予正确的初始值(此时a的值为3)
public class test {
private static int a =3;
}
3、Java程序对类的使用方式可分为两种:主动使用和被动使用,所有的Java虚拟机实现必须在每个类
或接口被Java程序"首次主动使用"时才初始化它们。

请简述&与&&的区别?
& 左右两边都为true才判断为true,如果左边判断为false,还需要判断右边
&& 左右两边都为true才判断为true,如果左边判断为false,则不需要判断右边


简述break,continue,return语句的区别
break,continue,return的区别为:作用不同、结束不同、紧跟不同。

一、作用不同

1、break:执行break操作,跳出所在的当前整个循环,到外层代码继续执行。

2、continue:执行continue操作,跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。

3、return:执行return操作,直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。

二、结束不同

1、break:break不仅可以结束其所在的循环,还可结束其外层循环,但一次只能结束一种循环。

2、continue:continue结束的是本次循环,将接着开始下一次循环。

3、return:return同时结束其所在的循环和其外层循环。

三、紧跟不同

1、break:需要在break后紧跟一个标签,这个标签用于标识哪个外层循环。

2、continue:在continue后不需要加参数。

3、return:在return后跟一个返回值,用于提供给对应方法所需的返回值。


什么是对象?什么是类,类和对象有什么关系?
类的概念 : 类是具有相同属性和服务的一组对象的集合。为属于该类的所有对象提供了统一的抽象描述,
其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,应该
有一个类名并包括属性说明和服务说明两个主要部分。

对象的概念:对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。一个对象
由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现
域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性
和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。
类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。


请简述this关键字的应用
this在不同的位置代表的不同;
1,在构造器中,代表该构造器所创建的实例对象。
2,在方法中,指调用该方法的对象。
总而言之,this是指当前对象,哪个对象在调那个方法,this就代表那个对象。


请简述方法重写和方法重载的区别
方法重载:
1、同一个类中
2、方法名相同,参数列表不同(参数顺序、个数、类型)
3、方法返回值、访问修饰符任意
4、与方法的参数名无关
方法重写:
1、有继承关系的子类中
2、方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同
3、访问修饰符,访问范围需要大于等于父类的访问范围
4、与方法的参数名无关


请列举抽象类和接口的区别
1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

2、抽象类要被子类继承,接口要被类实现。

3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现

4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果

7、抽象类里可以没有抽象方法

8、如果一个类里有抽象方法,那么这个类只能是抽象类

9、抽象方法要被实现,所以不能是静态的,也不能是私有的。

10、接口可继承接口,并可多继承接口,但类只能单根继承。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值