1、Java语言有哪些优点
1)面向对象。
2)平台无关性,“一次编译,到处执行”。
3)Java提供了很多的类库,通过这些类库简化了开发人员程序设计工作。
4)提供了对Web应用开发的支持,例如Applet、Servlet和Jsp可以用来开发Web应用程序。
5)具有较好的安全性和健壮性。
2、面向对象的特征
封装:封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。
继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类/基类),得到继承信息的被称为子类(派生类)。
多态:指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。实现多态需要做两件事情:继承(字类继承父类并重写父类的方法)和父类型引用指向字类对象。
补充:多态的实现机制
3、Java基本的数据类型与其包装类有哪些
java中有8种基本数据类型,默认值和对应的包装类如下:
数据类型
字节长度
默认值
包装类
byte
1
0
Byte
short
2
0
Short
int
4
0
Integer
long
8
0L或0l
Long
float
4
0.0F或0.0f
Float
double
8
0.0
Double
char
2
u0000
Character
boolean
1
false
Boolean
4、Java中的访问权限修饰符有哪些
Java中有四种权限修饰符,权限如下所示:
注意:没有default这个关键字,它就是代表默认的意思,即什么修饰符也不加。一个Java文件中可以定义多个类,但最多只有一个类能被public修饰,并且这个类的类名与文件名必须相同。
当前类
同包
子类
其他包
public
√
√
√
√
protected
√
√
√
×
default
√
√
×
×
private
√
×
×
×
1)public:表明该成员变量或方法对所有类或对象都是可见的,所有类或对象都可以直接访问
2)protected:表明该成员变量或方法对自己及其子类是可见的,即自己和子类具有权限访问。除此之外的其他类或对象都没有访问权限
3)default:表明该成员变量或方法只有自己和与其位于同一包内的类可见。若父类与子类位于同一包内,则子类对父类的default成员变量或方法都有访问权限,若父类与子类位于不同的包,则没有访问权限。
4)private:表明该成员变量或方法是私有的,只有当前类对其有访问权限。
5、重载和重写(覆盖)的区别
重载:重载发生在同一个类中,同名的方法具有不同的参数(参数个数不同、参数类型不同、参数顺序不同),不能通过方法的访问权限、返回值类型和抛出的异常类型来进行重载。
重写:重写发生在子类和父类之间,子类中的重写方法必须和父类中被重写的方法有相同的函数名和参数、相同的返回值类型。子类重写方法比父类被重写方法更好的访问,子类的重写方法所抛出的异常必须和父类中被重写的方法所抛出的异常一致。父类中被重写的方法不能为private。