java的基本数据类型
整数型:byte short int long
浮点型:float double
字符型:char
布尔型:boolean
jS中的基本数据类型:
number string null undefined symbol boolean Object
Java中的隐式类型变换和强制类型变换
强制类型变换中的精度缺失,精度溢出。
java面向对象,封装、继承、多态。
java运行的时候内存区域分为:
栈内存,堆内存,方法区域内存(包含静态区)。
局部变量和成员变量的区别:
- 定义的位置不一样:
- 局部变量定义在方法内部
- 成员变量定义在类中
- 作用范围不一样
- 局部变量:只有方法当中才能使用,出了方法就不能够使用
- 成员变量:整个类中都可以使用
- 默认值不一样:
- 局部变量:没有默认值
- 成员变量:如果没有赋值,会有默认值。规则和数组一样。
static 关键字:只在类中保存唯一一份。一旦用了static关键字,那么所有的内容不再属于对象自己,而是属于类本身。
静态方法可以直接去访问静态方法和变量,不能直接访问或使用成员方法和变量,非静态方法可以直接去访问静态方法和变量。
静态代码块只会在第一次使用该类的时候执行一次,其余时间都不会去执行。
重写是发生在继承中的,方法名称一样,参数列表也一样。对于重载而言,方法名称一样,但是参数列表不一样。
在Java9版本中,接口中的内容可以有:
1.成员变量其实是常量,格式:
[public] [static] [final] 数据类型 常量名称 = 数据值
注意:
常量必须进行赋值,而且一旦赋值不能改变
常量名称完全大写,用下划线进行分割。
2.接口中最重要的就是抽象方法:
3.从java 8中 接口中允许定义默认静态方法
4.java开发可以使用静态方法
5.java9中接口中允许使用很多定义的私有方法
接口使用过程中的注意事项
1.接口中没有静态代码块
2.一个类的直接父类是唯一的,但是没有一个类可以同时实现多个接口
类与接口之间的一些关系:
1.类与类之间是单继承的。
2.类可以多实现接口。
3.接口与接口直接是多继承的。
在多态的代码中,成员方法的访问规则是:
看new是谁,就优先用谁,没有则向上找。
成员方法口诀:编译看左边,运行看右边。
成员变量口诀:编译看左边,运行也看左边。
final 用法:
作为一个变量不能修改,修饰一个class不能被继承,final修饰一个方法的时候,这个方法就是最终方法,不能被覆盖重写(对于一个类或者方法而言,不能同时使用abstract 和 final 因为他们自相矛盾)。
final用来修饰变量的时候就是同js中的const对于一个基本数据类型来说是不可以改变的,但是对于一个引用数据类型而言就可以改变的。final只是限定了对于他们的指针是不可以改变的。!!!
final用来修饰成员变量,特殊的是成员变量具有默认值,对于成员变量而言,使用final之后就必须去手动赋值了。可以使用构造函数对其进行赋值,或者直接对其手动赋值。
java 中关于权限有四个修饰符
public > protected > (default) > private
同一个类中 yes yes yes yes
同包子类 yes yes yes no
不同包子类 yes yes no no
不同包非子类 yes no no no