8种基本类型: byte(1字节), short(2字节), int(4字节), long(8字节), float(4字节), double(8字节), char(2字节), boolean(1/8字节 = 1bit)
类是构造对象的模板和蓝图。 一个类中可以设置有两种类型的元素: 数据成员和成员函数。
对象是类的实例,如果把类比作是建筑图纸,那对象就是根据图纸建造出来的建筑。
修饰符主要是用来控制类、方法、变量的访问权限的。
访问控制修饰符: default, public, private, protected
非访问修饰符: static, final, absract, synchronized, transient, volatile
接口(Interface)主要是用来定义一个类有哪些功能,需要定义每个方法的方法名、参数以及返回类型,但不需要添加修饰符以及具体实现代码。
一个类可以实现(implements)多个接口。
如果一个类包含抽象方法,那么该类必须是抽象类。 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
抽象类不能实例化,只能作为父类被继承,因此就我个人理解,抽象类是定义了子类必需的数据成员和成员函数。
由于在抽象类表示的是一种继承关系,因此一个类只能继承(extends)一个抽象类。
就我个人理解是,一个类将其数据打包起来,不让外部类随意访问。外部类需要访问或修改该类数据时,只能通过该类定义的特定的接口,对数据进行特定的操作。
封装的优点
良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变量进行更精确的控制。
隐藏信息,实现细节。
举个例子,当需要定义如下2个对象:“制鞋师”、“老师”。 显然,“制鞋师”、“老师”,都属于“人”。 如果不通过继承,分别定义这两个类,那各自都需要定义如年龄、身高、体重这些属性,以及走、跑、跳这些方法,这样会出现很多重复且相互独立的代码,导致代码臃肿,且维护性不高。 因此可以将“制鞋师”、“老师”共有的作为“人”的属性、方法提取出来,组成一个“人”的父类。然后两个类分别继承“人”,这样就只需要在“人”的基础上各自进行扩展。
继承提高了类之间的耦合性,耦合度高就会造成代码之间的联系越紧密,代码独立性越差
多态是同一个行为具有多个不同表现形式或形态的能力。 在查阅资料中看到一个有助于理解多态的例子:
现实中,比如我们按下 F1 键这个动作: 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Word 下弹出的就是 Word 帮助; 在Windows下弹出的就是 Windows 帮助和支持; 同一个事件发生在不同的对象上会产生不同的结果。
java基础入门(一) java基础入门(二) java基础入门(三)