复习java 总结的一些小细节(一)

来源:互联网 发布:欧弟老婆淘宝店叫什么 编辑:程序博客网 时间:2024/06/05 04:50

1.

 

 

没有static关键字,非静态方法,有就是静态方法

类方法即静态方法,对象方法即非静态方法


构造方法

  • 创建对象,会调用构造方法,构造方法会初始化类中所有成员变量,即使你什么都不写
  • 类中如果没有声明构造方法时会默认生成无参构造方法
  •  构造方法无返回类型;无返回类型(构造方法)和无返回值类型(void)需区分清楚

 


 

 就近原则 

  • 如果传入方法的参数和类里面的参数相同,则java采用就近原则,离得近的为实际调用的变量,所以有必要用this指定,如上图所示。

 


java中基本数据类型和默认类型的默认值
  • 默认布尔类型为false,引用对象为null,其他数据类型赋值为0,(char为数值0)。

 


四种权限修饰符级别
  • private 本类下可以调用
  • default 同一个包下可以调用
  • protect 子类可以调用
  • public 公共的



 

断言

 

 

Java -ea 开启断言

  • 断言:调试使用,布尔类型。 断言出错即报错,运行时异常的子类

 


不需要捕获的异常:运行时异常

运行时异常:(空指针,构造异常,数组下标越界,)所有的运行时异常可以通过严谨的编程控制

 

JAVA的统一做法:Java所有属性都为private,并为其加上getset方法

 

Alt+insert  创建getset方法

 


 

引用数据类型的类型转换:

自动:子类对象转为父类对象

强制:父类对象转为子类对性(可能构造异常)

 

 

类型检查关键字

  • 左侧是引用变量,右侧是一个类

 

 


重载在一个类里的不同方法  

重写在两个类中,是继承关系

方法名一定相同;

参数列表必须相同;

返回值类型:为父类返回值类型或其子类型;

子类的方法访问权限不能小于父类;

子类抛出的异常一定是父类抛出异常范围内的异常

 


JAVA四种引用:强,软(内存不足时会被回收),弱,虚;(后两个一旦被垃圾回收机制发现立刻回收)

 

Final修饰类, 不能被继承,修饰变量属性为常量,只能赋值一次

Finalize()方法:当类被回收时触发,类似于C++的析构函数

System.gc();       唤醒垃圾回收机制,只能唤醒,无法确定是否被回收

 


抽象方法一定是在抽象类中,一定没有方法体

抽象方法是为了被重写

如果继承有抽象方法的抽象类时,一定要重写抽象方法

 

抽象类不能被实例化

 


接口
  • 接口内没有属性,只有常量,以static final修饰的常量
  • 接口不可以被实例化
  • 方法:接口中的方法默认具有public abstract两个关键字修饰,1.8之后可以有方法体,要加上default关键字
  • JAVA1.8之后,可以有静态方法
  • 如果多继承重名的方法,则必须重写此方法
 

 

使用static+final修饰符修饰常量,存入常量池

 

 

JAVA可以实现多个接口但只能单继承

 

JAVA中没有类似C++的方法指针,所以依靠接口来实现一些方法




接口的实现方式有多种

  • 匿名内部类

  • Lambda只能实现只有一个方法的接口,()中为参数。

  • 方法里面有一个参数,则可以去掉(),可以用于实现安卓的监听器 

  • 接口的另一种实现方式:代理接口 Proxy

 


0 0