初学Java笔记 二

public class CreateObject{

public CreateObject(){                                    //构造方法

System.out.println("创建对象");

}

public static void main(String args[]){              //主方法

new CreateObject();                                        //创建对象

}

}


 

其中使用new 创建对象,创建对象的同时自动调用了构造方法中的代码。

 

一个Book类的引用     Book book;

引用与对象关联         Book book=new book();

引用只是存放了一个对象的内存地址,可以说book是Book类的一个对象,实际上是book包含了Book对象的一个引用。

 

 

equals()与==的区别

equals()方法是String类中的方法,比较两个对象所指的内容是否相等

==运算符指的是比较两个对象引用的地址是否相等

 

 

对象的销毁

两种情况被虚拟机认为是垃圾

1.对象引用超过其作用范围

2.对象复制为null

收集并删除未引用的对象。可以通过调用"System.gc()"来触发垃圾回收,但并不保证会确实进行垃圾回收。JVM的垃圾回收只收集哪些由new关键字创建的对象。所以,如果不是用new创建的对象,可以使用finalize函数来执行清理。

回收机制

1.标记法:给对象进行计数,每当有引用时可加一,每当释放超过作用域时,就减一,由此得零就会被回收。(循环被引用的对象无法识别,会被回收)

2.根搜索算法,从根部进行搜索,去搜索所有可达对象,剩下的就是被回收的(内存会被分为一块一块,解决办法1.将存活的对象进行整理 2.将内存一分为二,这边存活的对象复制过去,另外一边空着,往复。)

 

 

继承

在继承中,子类没有权限调用父类中private的方法,只能调用父类中修饰为public或是protected的成员方法

重写就是在子类中将父类成员方法名保留,重写成员方法实现内容。其中,子类与父类的成员方法返回值、方法名称、参数类型以及个数完全相同,唯一不同的是方法实现内容,被成为重构。

注意:重写父类时,修改方法的修饰权限只能从小到大的范围改变   private  protected  public

 

 

在实例化子类对象时,父类的无参构造方法会被自动调用,但是有参构造方法不能被自动调用,只能利用super关键字来显示地调用父类的构造方法

 

使用向下转型时,必须使用显式类型转换,向编译器指明父类对象转换为哪一个类型的子类对象(四边形不一定都是正方形)

 

 

方法的重载  

一个类中的构造方法,方法名相同但是形参不同构成重载。

int...a 看作int[]a

 

多态

无需在所有子类中定义执行相同功能的方法,避免重复代码的开发,同时只需要实例化一个继承父类的子类对象即可调用相同功能代码,只需要去维护父类中这个方法即可。

 

抽象类

只要类中有一个抽象方法,此类则被标记为抽象类。

 

非内部类不能被 声明为private 或是 protected

内存中所有的对象均放置在堆中,方法以及方法中的形参或局部变量放置在栈中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值