Java 学习

java的基本数据类型 整数型:byte short int long 浮点型:float double 字符型:char 布尔型:boolean jS中的基本数据类型: number string null undefined symbol boolean Object Java中的隐式类型变换和强制类型变换 强制类型变换中的精度缺失,精度溢出。 java面向对象,封装、继承、多态。 java运行的时候内存区域分为: 栈内存,堆内存,方法区域内存(包含静态区)。 局部变量和成员变量的区别: 1. 定义的位置不一样: 1. 局部变量定义在方法内部 2. 成员变量定义在类中 2. 作用范围不一样 1. 局部变量:只有方法当中才能使用,出了方法就不能够使用 2. 成员变量:整个类中都可以使用 3. 默认值不一样: 1. 局部变量:没有默认值 2. 成员变量:如果没有赋值,会有默认值。规则和数组一样。 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 ```