java面向对象 小白总结(一) 我理解的就是java语言的语法说明和java建议在这些语法上希望你如何去用, 因此引出java的三大特性 .

说明:以下内容 都是在刘意老师视频中知识点,本小白仅仅是汇总下.在此感谢刘老师!!!讲的很好,很透彻. 

1:成员变量:有默认初始值;局部变量:没有默认初始值,必须定义,赋值,然后才能使用;

2:如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。

3:匿名对象的应用场景:
        A:调用方法,仅仅只调用一次的时候。
            注意:调用多次的时候,不适合。
            那么,这种匿名调用有什么好处吗?
                有,匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。
        B:匿名对象可以作为实际参数传递

4:this关键字;对象调用的成员变量时需要用到对象,java提供了this表示类的对象;刚开始学接触的地方是学生类的get,set方法中用到;就是代表当前的类的对象的引用,或者说就是当前类的一个对象;方法被哪个对象调用,this就代表哪个对象. 

5:Student s = new Student(); java做了哪些事情.

A:把Student,class文件加载到内存 B:在栈内存给s变量开辟一个空间 C:在堆内存为学生对象申请一个空间 D:给成员变量进行初始默认初始化.null,0 E:给成员变量进行显示初始化.林青霞,27 F:通过构造函数方法给成员变量进行初始化.刘意,30;G:数据初始化完毕,然后把堆内存的地址值赋给栈内存的s变量. 

6:变量什么时候定义为成员变量?     如果这个变量是用来描述这个类的信息的,那么该变量就应该定义为成员变量.

变量到底定义在哪里好呢?     变量的范围是越小越好.因为能及时被回收.

7:关键字 static  A:针对多个对象有共同的这样的成员变量值的时候,java就提高了一个关键字来修饰.一次赋值可多个对象使用.                                B:随着类的加载而加载(硬记,可以回想main方法)C:优先对象存在 D:被类的所有对象共享                                                                  E:如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的.F:可以通过类调用,也可以通过对象调用,                                但是推荐用类来调用,静态的成员变量和方法,称为类成员

8:多态 父类可以将子类的实例传递给他。为的就是方便直接调用子类重写的方法。

9:继承 方法的修饰词越来越严格。 12生肖的例子

向上转型_>  (子类引用转换为父类(S s 变 F f),通俗地说就是是将子类对象转为父类对象,只能调用来自父类的属性和行为)相当于new父 ,就是为了接受任意子类,不能调用子类自己独有的方法。F f = new S();感觉是阉割版的直接new S(); 重点:为了方便调用子类重写父类的方法。

向下转型_> 向下转型的前提是父类对象指向的是子类对象(在向下转型之前,他得先向上),重点:为了用子类自己的方法

S s = (S) f;

记住 方法()括号内写是声明给我什么类型的对象或者实例,实际执行过程中是new的对象或者说是实例

 

执行类,操作数据用,bean类 封装数据用,方法类,封装方法用

可以在执行类写方法,直接调用。

大牛的博客写的相当好如下------------------------------------------------------------------------------------------------------------------

https://blog.csdn.net/qq_31655965/article/details/54800523

过载 是指同一样东西在不同的地方具有多种含义;

覆盖是指它随时随地都只有一种含义,只是原先的含义完全被后来的含义取代了/

private 属性 不让直接调用,想用要经过方法才能进行操作。

 

1 首先, java的GC设计的目的是让开发者不关心什么时候回收,什么时候释放内存,这样开发者就可以专心做自己该做的事情。所以,开发者不应该在真正的代码中依赖垃圾回收行为。
2 仅在原理角度, 回答你的问题。
A a = new A(); 说明发生了两件事
1 A对象的一个实例在heap中被创建,占用了内存。
2 一个局部引用a被压栈,指向了1中的实例

在aaa()方法退出后, 引用a被弹出栈,这样1中的实例就没有指向它的引用, 成为了被GC回收的潜在目标。(只是从你给的例子的表面推断)
至于什么时候回收,是JVM的行为,不同版本和实现都可能存在差异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值