面对对象易错点总结

面对对象

1.面对对象思想
1.1面对对象思想:面对对象是面对过程来讲的,指的是把相关的数据和方法组织为一个整体来看待。《Java编程思想》中提到“万物皆为对象”的概念。它将对象视为一种奇特的变量,它除了可以存储数据之外还可以对它自身进行操作。每个对象都具有各自的属性及方法,java就是通过对象之间行为的交互来解决问题的。
1.2面对对象的三大特征:封装性 继承性 多态性
2.类与对象
2.1类由属性和方法构成
2.2.java文件的文件名称必须与public修饰的类名完全一致
2.3在同一个包内类的名称不能相同
3.创建对象内存分析
3.1类存放在方法区
3.2栈的储存特点是:先进后出。
栈内存,通过栈指针来创建空间与释放空间。
存储的是:基本数据类型的数据以及引用数据类型的引用,如

int a = 10;
Person p = new Preson();

存储10和Person p。
3.3

Book b2 = b1;
b2 = b1;//对象可以有多个名称

3.4堆:存放的是类的对象。
堆内存中内存的释放是由GC完成的。
规则:当栈内存中不存在此对象的引用时,则视为垃圾,等待垃圾回收器回收。
3.5方法区存放的是:类信息,静态的变量,常量(final),成员方法
3.6PC寄存器保存的是当前正在执行的JVM指令的地址。
3.7本地方法栈:保存本地方法的地址。
4.匿名对象:只能使用一次,因为没有任何对象的引用,所以将称为垃圾,等待被GC回收。

面对对象进阶

1.封装private
1.1为了避免逻辑错误,我们建议对所有属性进行封装。
2.this
Person(){
this(“默认姓名”,1)
}//在一个构造方法中调用另一个构造方法时,必须编写在第一行
3.static
可以通过类名去访问
4.包的定义:所有单词字母小写
面对对象高级
1.抽象类
1.1一个抽象类中可以没有抽象方法。
抽象类不能被实体化,即:不能直接使用关键字new完成。
一个抽象类必须被子类所继承。
子类对象实例化是都要先调用父类中的构造方法(默认是无参的),之后再调用子类自己的构造方法。
抽象类必须用public或protected修饰,默认为public。
写在不同.java文件中,类必须通过public修饰
1.2抽象方法
例如:

public abstract class Person{
public abstract void say();
}

2.内部类
2.1成员内部类:成员内部类可以无条件访问外部类的所有成员属性和成员方法。
2.2局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及 static修饰符的。
2.3匿名内部类中是不能定义构造函数的。
匿名内部类中不能存在任何的静态成员变量和静态方法。
匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。 匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。
只能访问final型的局部变量
2.4静态内部类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值