JAVA类和对象重点笔记及理解(一)

1.类创建对象的详细过程

创建完成,dog就成了一个实例(对象),具有属性和方法

Dog类的属性:一般叫做成员变量

Dog类的方法:一般叫做成员方法

类是对象的抽象,对象是类的具体实例。

2.JAVA的数据类型

3.JAVA对象的生命周期和垃圾自动回收机制

注意什么叫做垃圾,rect为空后,不能进行引用属性和方法,对象就成了垃圾,

此时不能引用否则会报空指针异常。

①也可以手动,把某个实例对象赋值为空,然后再用System.gc()人为干预清理垃圾,节省资源。

②一般自定义的类,全部都默认继承Object类,每一个自己定义的类都有finalize方法,每次释放都会执行,如果想要看到finalize的效果可以在类中重写,可用source菜单中的override重写,

如图

 

 

当不动手写System.gc时,主线程没有任何任务就是程序执行完毕,整体也全部被回收(这个地方不够细致以后再补充)。

 

这里在程序结束后aa也会被回收。

 4.成员变量与局部变量

①作用域 

成员变量:可以放在一个类的成员方法后面,和成员方法没有先后,都是先编译成员变量。

局部变量:就是方法范围,且顺序不能调,先声明后使用。

②初始值

成员变量:一创建对象就会赋初始值。

局部变量:如果没赋值,直接用是非法的

③隐藏

局部和成员重名时,局部变量会覆盖成员变量,如果要加以区分就用this

如图

 test方法是在方法中新定义a的成员方法,但a已经是成员变量,

如果这时候在主方法中直接打印a则局部覆盖成员变量。

如果这时非要打印成员变量,就用this加以区分,this代表当前对象。

④赋值

对于成员变量来说,属性可以不赋值,那么创建对象时就是默认值,但是属性也可以赋值,那么一创建对象,就赋值完成了。

⑤分类

实例变量:用类创建的对象,对象拥有的属性就是该实例的变量,用 变量名.属性即可引用,一般创建实例的时候才会产生。

类变量:类中用static修饰的属性,可以用类.属性应用,也可用变量名.属性引用,所有该类的变量都可引用该变量,一般在类生成字节码的时候就会定义赋值,比实例要早,在静态方法中可以直接使用静态变量,去掉属性前面的引用,而实例变量必须用变量名.属性引用。

5.构造方法

 

 

6.成员方法

注意两点:返回值也可以是对象,传入参数也可以是对象,是一种地址传递。

 以上是对于不定长参数的定义方法,一个是单一不定长,一个是最后一个参数是不定长参数,相当于传进去一个数组。

具体使用如下

 3,4都给了多参数变量,最后的数组也是给了多参数变量,熟悉这种用法,不定长参数不能放到最后。

7.成员方法的值传递和引用传递

 8.方法的重载

9.(静态)类方法和实例方法的区别

 

静态方法和变量优先分配空间,实例方法和变量因此可以调用他们,反过来则不行。

10.关于static的用法

 静态成员使用注意事项

 注意分配空间时间是不同的。

注意类字节码一有类就会加载,但是实例的方法和变量,只有创建时才会出现。

 11.对象的组合关系

就是一个类中去定义另一个类作为了成员变量。

12.package和import关键字

注意import是不能引用无名包中的类的,而且包名不存在包含关系,必须要严格区分,上下级也要导入包。

13.访问修饰符(可修饰类,成员变量or方法)

 

 虽然类中的成员变量可以用private隐藏,但是也可以通过公开的方法来使用该值,这样就增强了安全性。

14.类和对象关键字_abstract、final、this

 抽象类不一定含有抽象方法,也可能含有普通方法,或者没有方法,即如果里面有抽象方法,类前一定用abstract修饰,但用abstract修饰的类中怎么写,没有要求,继承后要么实现全部的抽象方法,要么把子类也变成抽象类。

 

 this带参数,一个构造函数调用另一个构造函数的方式如下

 第一个构造方法调用第二个构造方法,且this(1,1)必须放在第一条。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码敲上天.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值