java与c++的区别,他们都是属于面相对象的编程语言,都是具有java的三大特性,封装,继承和多态!
java编程没有指针,可以直接访问内存。
java他是属于单继承,只有接口方面可以多继承。
c++可以多继承。
java有自动管理内存的机制,不需要程序员手动释放。
java的数据类型语言是强类型语言,在java内存中,分配了不少的大小空间。
类和接口:
抽象类是用来捕捉子类的通用特性。接口是抽象方法的集合。
抽象类和接口的区别:
抽象类和接口都不能实例化
都位于继承的顶端,用于被其他实现和继承。
都包含抽象方法,其中子类必须复写这些抽象方法。
抽象类使用关键字,abstract关键字声明:接口使用interface关键字声明:
实现:子类使用extends关键字来继承抽象类,如果子类不是抽象类的话,它需要提供抽象类中所有的声明方法的实现:
子类使用implements关键字来实现接口。它需要提供接口中所有声明方法的实现。
抽象类可以有构造器,而接口不能有构造器。
抽象类方法可以访问任意修饰符,接口访问默认修饰符是public。并且不允许,定义private或者protected
一个类只能够继承一个抽象类,一个接口可以实现多继承。
内部类:什么是内部类?
在java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是一个类的属性,与其他定义属性方式一致。
内部类分类有哪些:
成员内部类:
局部内部类:
匿名内部类:
静态内部类:
匿名内部类就是没有名字的内部类。日常开发中使用的。都是比较多的。
工厂设计模式,顾名思义就是用来生产对象,我们使用工厂来生产对象,我们就只和工厂打交道就可以了。彻底和对象解藕,如果要更换对象,直接在工厂里更换对象就可以了。
代理设计模式,拥有静态代理和动态代理,
功能:实现扩展功能,对我们方法实现增强,安全性,和提高代码是复用机制。