1.简单说一下java的跨平台原理(2018.11.12)
java通过不同的系统、不同版本、不同位数的java虚拟机(jvm),来屏蔽不同系统指令差异而对外统一的接口(java API,对于我们普通的java开发者而言,只需要按照接口开发即可,如果系统需要部署到不同的环境时,只需要在系统上面按照对应的版本中的虚拟机即可
2.搭建一个Java开发环境的步骤(2018.11.13)
Java开发环境需要些生命?
1.适用于我们开发环境的jdk
2.对应开发环境eclipse/idea
3.需要web服务(tomcat)
3.Java中的基本数据类型?
8种
byte 8位,
short 16位,
int 32位,
long 64位,
float 32位,
double 64位,
char 16位,
boolean 1位
int 占4个字节,32位
boolean占1位,1字节,因为最小1位,也是占了一个字节。
- 简单说一下基本数据类型的包装类型、还有装箱和拆箱的理解。
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
总结:int 和 char有点特殊,就是单独记忆。
其他都是首字母大写。
装箱:把基本数据类型转换为对应的包装类型就是装箱。
拆箱:把包装类型转换为基本数据类型就是拆箱。
有了基本数据类型为什么还需要包装类型?
java是一门面向对象的语言,而基本的数据类型不具备面向对象的特征。
integer可以用null来表示,int只能用0来表示。
- 面对对象的特性有哪些?(2018.11.14)
封装,继承,多态,抽象
抽象:把现实中的对象,抽象为类。
封装:
概念:将类的属性或者方法隐藏在类的内部,只能通过自己对外提供的访问方式,来实现访问。
优点:只能通过规定的方法来访问,隐藏类的实现的细节,避免代码的重复和冗余。
我们最常用的就是get&set方法,也是最标准的,例如实体类的注入和获得实体属性。还比如平常使用的工具类,都是用了java的封装的特性。
实现:get&set,使用访问修饰符4个中的private,创建get&set方法,然后在get&set方法中添加合法的控制语句。
继承(extends):
概念:继承是类与类之间的一种关系,父类是基类,子类是派生类。
优点:继承可以使子类拥有父类的属性和方法(除了私有的),实现代码的复用。
比如所有的类都继承自Object类,所以所有的类都有Object的equals()、toString()、getClass()等的方法。
实现:通过extends关键字。
注意:
在对象继承时有时需要使用子类的属性,有时需要使用父类的属性,所以在子类中可以通过super和this关键字来区分是父类还是子类。
父类提供的构造方法不能满足子类的需求,我们就可以在子类中重写父类的构造方法。
java中的继承时单继承。但支持多重继承。子类可以有父类,还可以有爷类。
多态:
概念:多态就是对象的多种形式。简单点说:“一个接口,多种实现”。
优点:屏蔽不同子类对象的差异,写出通用的代码,做出通用的编程,适应需求的不断变化。
比如Map map = new HashMap(); List list = new ArrayList();都是多态的一种体现。
实现:
- 父类引用指向子类
- 接口引用指向实现类
注意: - 继承是多态的基础。
- 如果我们在子类中编写一个独有的方法(没有继承父类的方法),此时就不能通过父类的引用创建的子类对象来调用该方法
1遍是看不懂的,太长了也没有耐性,多看几遍。
详见(非常详细,非常重要!):https://www.cnblogs.com/hysum/p/7100874.html#_label0
6.谈谈你对final的理解
final可以修饰类、方法和变量。
被final修饰的类不能被继承,被final修饰的方法不能被重写,被final修饰的变量不能被改变,一旦赋予初始值就不能被改变。
7.一个.java源文件是否可以包括多个类?有什么限制?
可以由很多个类,但只能有一个public类,并且与public类的名称必须一致。
8.说说&和&& 的区别
相同点:都表示逻辑与,(and)
不同点:
&:不短路,可以进行位运算;
&& :可以短路,通常他用于逻辑运算;