- 内存分配
- 访问控制符
- 为什么要使用类
- 函数的重载
- -this
- 关键字 static
- 继承
在构造 aa 时,就已经赋值为1,2。
new A(1,2)
结构清晰,易于维护。面向对象将类中的信息进行封装,即将属性等和函数绑在一起。调用时很容易知道函数来自于哪个类。写类的好处即时使用面向对象的好处:
使用面向对象思想进行开发有以下优点:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
例如:使用关键字class创建一个类:
class 类名称{
属性(变量);
行为(方法);
}
eg2.
对象的产生
类名称 对象名称 = new 类名称 ();函数的重载
在同一个类中,以下情况可以看出 第一种和第二种不可以同时存在,仅仅是函数返回类型不一样也是不可以的。
this.属性名称
指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题)
注意事项:
1.this() 不能使用在普通方法中 只能写在构造方法中
2.必须是构造方法中的第一条语句
此代码证明了static属性属于类本身,或者讲:没有对象,我们可以直接通过类名的方式访问该类内部的static属性(必须是非私有的);static方法也是同理。当然也可以通过类对象名访问。
不是静态static就不能通过类本身访问,必须通过对象访问
定义:一个新类从已有的类那里获得已有的属性和方法,这种现象叫做类的继承;这个新类称为子类或者派生类,已有的类叫做基类。
继承的好处:
1.代码得到极大的利用
2.形成一种类的层次体系结构
3.为多态创造条件。
实现方法:
class SubClass extends SuperClass
{
.......
}
注意:
1.私有属性和私有方法不能被继承,私有在物理上已经被继承过来,只不过在逻辑上程序员不能去访问。因此继承必须要慎重,否则会浪费内存。
2.子类内补可以访问父类非私有成员,私有成员无法被访问
3.通过子类对象名只能访问从父类继承过来到非私有成员。
4.JAVA只支持单继承,不允许多继承(c++允许)。单继承就是一个类只能有一个父类,多继承一个类可以有多个父类,但是可以有多层继承。
5.子类可以继承父类所有的成员变量和方法,但子类永远无法继承父类的构造方法。在子类的构造方法中可使用语句super(参数列表)调用父类的构造方法。



