java面向对象的理解_JAVA面向对象的理解

一、JAVA中的栈内存与堆内存

1.栈内存:存放局部变量,超出作用域会被回收;

2.堆内存:创建出来的对象,有java垃圾回收器回收。

二、static与类共存亡; 非static与对象共存亡!!

三、对象的比较:

1.== :比较的是栈内存中的值(地址)

2.equals : 比较的是内容,重写该方法才有意义!!

四、函数传参是:基本类型是值的拷贝的传递;引用类型是引用的传递!!

五、String的理解:

new出来的对象与直接写的的区别!!!

1 String s1 = new String("abc");    //2个对象2 String s2 = new String("abc");    //2个对象3

4 System.out.println("s1 == s2 : " + (s1 == s2));//false

5 System.out.println("s1.equals(s2) : " + s1.equals(s2));//true

6

7

8 String s3 = "abc";9 String s4 = "abc";10

11 System.out.println("s3 == s4 : " + (s3 == s4));//true

12 System.out.println("s3.equals(s4) : " + s3.equals(s4));//true

六、getClass:

Class字节码的获取:

1.通过对象获取;    对象.getClass()

2.通过类获取;     类.Class

3.Class的forName方法获取。  Class.forName("com.westos.javase.lesson04_2.Person");  ------->  注意全名

七、抽象类:

抽象类天生就是用来被继承的;

抽象类不能被实例化,但可以定义变量指向子类对象;

其子类必须重写所有方法,否则也必须声明为抽象类;

抽象类中可以没有抽象方法;

抽象类和普通类一样,有构造方法!!!

八、接口

接口中所有方法都是抽象的  ----->  public abstract

接口中的变量都是  ------->   public static final

一个类只能继承一个类,但可以实现多个接口:public class SuperMan extends Person implements Run_able,Flyable { }

解决了不能多继承的问题!!

九、抽象类与接口的区别:

抽象类是继承,接口是实现;

抽象类是 is a;接口是 like a;

抽象类定义的是体系内的功能; 接口定义的是体系外的扩展功能!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值