面向对象思想
面向过程:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个一次调用就可以了。(c,c++)
面向对象:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成某一个步骤,而是为了描述某个事务在整个解决问题的步骤中的行为。(java)
类与对象的关系:
类即类型,在java中用class表示
如:人、动物、桌子、电脑、学生、老师
对象即某一类型物质的一具体存在,在java中用Object表示
如人类中有:詹姆斯、科比、姚明
类的定义:
格式:访问修饰符 class 类名{
属性; //也称成员数据或成员变量
方法; //也称成员方法或行为或函数
}
注意:访问修饰符一般为public,也可以没有修饰符,类名的命名规范(大驼峰)
一般把属性放在类的顶部,方法放在底部。
public class Demo{}
定义属性的语法:修饰符 数据类型 属性名;private String sex;
定义方法的语法:修饰符 返回值类型 方法名(){
方法体;
}
private void getName(){}
类的命名规范:
- 类是一种类型,所以应用名词来表示(人)
- 属性表示一种状态,用名词
- 方法表示的是能做什么,用名词
- 类名首字母应大写,如Animal,Human(大驼峰)
- 属性和方法首字母小写,如age,think(小驼峰)
- 当出现两个或两个以上的单词时,第二个单词首字母总是大写,如类名:BankAccount 或方法名:fetchMoney
类的构造方法:
class 人{
public 人(){}
}
构造方法的特征:
- 用于在创建对象的时候做初始化工作
- 方法名与类名相同
- 方法没有返回值
- 注:构造方法也有重载,可以根据情况使用不同的重载方法
类的构造方法。如果没有在类中写任何构造方法,则此方法为类的缺省构造方法。
对象的创建
语法为:类型 对象名 = new 构造方法()
如:人 小李子 = new 人();
对象的使用
在其他类中或者main方法中,访问一个对象的属性或者方法,必须先实例化类,然后通过对象名和点操作符完成:
——对象名.属性名
——对象名.方法名()
在类内的方法中,可以直接访问本类的属性和方法
注意:以上说法只针对非静态成员。
This关键字
代表对象自身的引用——指向调用该方法的当前对象。
在构造方法中,参数名与属性名相同时必须使用this
思考题:
1.一个java文件中是否只能有一个class类,什么情况下可以有多个,添加public修饰后有什么区别
内部类
public类是程序的接口,一个java有且仅能有一个public类,否则编译器不会接受的
2.封装类属性的好处
主要体现在信息隐藏
① 类的成员变量可以成为只读或者只写的。
比如用:访问器getXxxx();或者修改器setXxxx();
② 类可以对储存在其中的成员变量中的内容有一个整体的控制。
可以根据访问修饰符的提点在其它类中调用该类中的属性和行为。
③类的用户不需要知道类是如何储存数据的。