1.抽象类必须要有抽象方法吗? 不是
抽象类可以没有抽象方法
2.普通类和抽象类有那些区别?
普通类不能含有抽象方法,普通方法可以实例化
抽象类可以包含抽象方法,抽象方法不能实例化
3.抽象类能使用final修饰吗?
不能 ,定义抽象类就是来继承的,如果定义为final该类就不能被继承
4.接口和抽象类有什么区别?
实现:抽象类 extends继承
接口 Implements 实现
构造函数和main:
抽象类可以有,但接口不能有
数量: 类只能继承一个抽象类,可以实现多个接口,接口可以接口
5.&和&&的区别
&是位运算符,&&是布尔逻辑运算符,&&处理为false不再处理后面的内容
6.重载和重写的区别
1.重写是父子类之间,重载是一个类中
2.子类与父类的方法名相同,参数相同叫重写
3.一个类中方法名相同,参数不同叫重载
7.java语言有那些优点
面向对象、平台无关性、可靠性、安全性、支持多线程、支持网络编程、编译与解释并存
8.什么是字节码?采用字节码的最大好处是什么?什么是java虚拟机?
虚拟机理解的代码叫做字节码
好处:执行效率高、可移植
任何一种可以运行java字节码软件均可看成是java的虚拟机(JVM)
9.为什么在一个静态方法内调用一个 非静态成员是非法的?
由于静态方法可以不通过对象进行调用,因此静态方法里不能调用其他非静态变量,也不可以访问非静态变量成员。
10.成员变量与局部变量的区别有那些?
1.成员变量在类中,局部变量在方法中,局部变量不能被static修饰
2.成员变量存在于推内,局部变量存在于栈里面
3.成员变量随着对象而存在,局部变量会随着方法的调用而自动消失
4.成员变量会自动默认值而赋值,在static修饰下显现,局部变量不会自动赋值
11.静态方法和是咧方法有何不同?
1.调用静态方法可以无需创建对象
2.静态方法在访问本类的成员 时,只允许访问静态成员,实例方法则无此限制
12.对象的相等与指向他们的引用相等,两者有什么不同?
对象的相等,比较的是内存中存放的内容是否相等
引用相等,比较的是他们指向的内存地址是否相等。
13.在调用子类构造方法之前先调佣父类没有参数构造方法,其目的是?
帮助子类做初始化工作。
14.equals和==区别
1.==是判断两个变量或实例对象是否指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是否相同
2.==是内存地址比较,equals 是对字符串内容进行比较
3.==指引用是否相等 equals()指的是值是否相等
15.类的实例化顺序
父静态> 子静态
父类>子类 静态代码块>非静态代码块>构造函数
16.什么是class文件?class文件主要的信息结构有那些?
class文件是一组8位字节为基础为单位的二进制流,各个数据项严格按顺序排列。