面向对象

2019-08-11  本文已影响0人  YQY_苑

什么是对象

对象是由什么组成的?

image.png

对象的构造函数

对象的⽅法

⽅法的重载(overload)

重载(overload)与重写/覆盖(override)

重载(overload)

如何区分同名的不同重载⽅法?

根据类型

方法名相同,但参数表不一样。

void pringName(){
  
}

void pringName(String s){
  
}

void pringName(int i){
  
}

那隐式转换呢?

*  类型最匹配优先
* 如果能匹配多个呢?例如:null【使用强制类型转换】

那隐式转换呢??

类型最匹配优先【先按顺序,后按类型】
如果能匹配多个呢?例如:null【使用强制类型转换】

image.png
Number承继自Integer,低一层。故Interger和Object处于同一地位,与null距离相等
public static void main(String[] args) throws IOException {
        Interger a = 1;
        pringName(a) // 由于a是定义为Interger,故先匹配 2
    }

void pringName(int i){  // 1
  
}

void pringName(Interger i){   // 2
  
}

void pringName(Number i){   // 3
  
}
image.png

能仅仅重载返回值么?

不能,因为方法调用可以忽略返回值,所以仅重载返回值时方法用意产生冲突

image.png

如何为⽅法提供默认值?

image.png

构造器的重载

this()

对象的初始化

对象的⽣命周期

新建对象,使用,摧毁回收

如果⼀直新建对象,内存会不会爆?

可能不会

那对象的内存什么时候被回收?

对象的内存如何被回收?

JVM怎么知道哪个对象没有被⽤到?

上一篇 下一篇

猜你喜欢

热点阅读