1、类的概述:
对现实生活中某一类具有共同属性和行为事物的抽象(或集合),可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
(属性指该事物的状态信息;行为指该事物能够做什么)
2、类的特点:
(1)、类是对象的数据类型
(2)、类是具有共同属性和行为的一组对象的抽象
万物皆对象,客观存在的事物皆为对象,对象是指,一类事物的具体体现,
类和对象的关系:
类是对象的集合 (抽象) 对象是类的实现(实体)
面向对象是相对于面向过程来讲的,面向对象方法,指把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
通常情况下,一个类并不能直接使用,而需要根据类创建一个对象,才能使用。
(1)类是Java程序中的基本组成单位(class关键字修饰的称之为类)
(2)类的组成:属性和行为
属性:在类中通过成员变量(方法之外的变量)来体现 行为:在类中通过成员方法来体现(与之前的方法相比去掉static即可)
(3)类的定义步骤:
1.定义类 格式:public class 类名(){} 2.编写类的成员变量 格式: 数据类型 变量名; 或者 public 数据类型 变量名; 3.编写类的成员方法 格式: public 返回值类型 方法名(参数){}
先有类再有对象,对象的创建也要通过类
1.导包: 指出所需要使用的类在什么位置; 对于和当前类属于同一个包的情况,可以省略导报语句不写 格式: import 包名.类名 2.创建对象: 格式: 类名 对象名=new 类名(); 范例:Car c=new Car(); 3.使用对象(就是使用成员变量和成员方法): (1).使用成员变量(赋值和修改): 格式:对象名.成员变量名; 范例:c.price; (2).使用成员方法: 格式:对象名.成员方法名(); 范例:c.run(); 注意: 当一个对象作为参数传递到方法当中时,实际上传进去的是对象的地址值。
区别:
(1)定义的位置不一样: 局部变量:定义在方法的内部或者方法的声明上(形参) 成员变量:在方法的外部定义,直接写在类中的 (2)作用范围不一样: 局部变量:只有方法中才可以使用,出了方法就不可使用了。 成员变量:整个类全部都可以用 (3)默认值不一样: 局部变量:没有默认值,没必须先定义,赋值,再使用(想使用必须初始化) 成员变量:有默认值,规则和数组一样,系统默认分配 (4)内存的位置不一样: 局部变量:栈内存 成员变量:堆内存 (5)生命周期不一样: 局部变量:随方法的创建而创建,随方法的消失而消失 成员变量:随对象的创建而创建,随对象的消失而消失
在类中有:
也即是说,当方法的局部变量和类的成员变量重名时,根据“就近原则”,会优先使用局部变量,如果要访问本类中的成员变量,那么就需要使用格式:this.成员变量名
注意:
当局部变量隐藏成员变量时使用this 当局部变量和成员变量同名时使用this
1.什么是private关键字
2.被private修饰的成员变量,在本类中仍然可以随意访问,但如果要被别的类使用,就要提供相应的操作
1.封装概述:
概述:封装是面向对象的三大特征之一(封装,继承,多态)
作用:隐藏类中的内部细节,外界无法直接调用(private)
2.封装的原则:
3.封装的优点:
(1).概述:
构造方法是一个特殊的方法,专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用的构造方法。
(2)作用:
创建对象
(3).格式:
public class 类名{ public 类名(参数类型 参数名){ 方法体 } }
(4).注意事项
(5).构造方法的重载
如果已经定义了有参构造方法,还要使用无参构造方法,则必须在写一个无参构造方法