类与对象
概念:
类:类是抽象的,是对一组有相同属性和行为对象的抽象中得来的,是对一组具有相同属性和共同行为的事物的一种抽象描述;
对象:对象是具体的,实例化的,拥有具体的属性和行为,通过new一组或一个对象可直接引用类中的属性或者调用类中的方法;
面向对象编程思想:
思想:具体的事物(项目)既具体的对象,当一组对象具有相似的属性和行为,我们就可以对相似属性和行为进行分类,这是一个“抽象”的过程,提取相同属性和行为并归类,最后总结出一个描述类:描述一组具有相同属性和共同行为的一组对象;
编程体现:
1,我们编写类(包括属性和方法);可以通过编写测试类创建对象来测试 类的属性和功能,
2,可以通过类的属性(用对象进行初始化)将其他类进行封装,通过创建本类对象读写,调用其他对象(本类属性指向其他对象,并调用和访问其方法与属性);
3,这种思维做法既实现了代码的复用性,实现代码模块化,也使得程序员编写代码更具独立性
应用:
类:
(1)首字大写;
(2)类中只能写属性和方法
(3)成员变量(属性)写在方法外面,局部变量(属性)写在方法里面,方法里可以调用成员变量,方法外部不可以调用方法里的局部变量,
对象:
(1)通过对象访问类的属性和方法
(2)类 对象名=new构造方法;
(3)一类对象对应一个构造方法,没有写是默认创建无参构造方法;构造方法方法名相同,无返回值,属于实例方法,是方法重写的一种特殊用法,可以有无参构造方法和带参构造方法
类的属性:
(1)既可以是常用的8中基本数据类型,也可以是引用类型(如数组,对象等);
(2)当属性被封装起来时,其他类不一定可以访问本类属性,必须通过本类方法访问本类属性
(3)当我们通过方法访问本类属性时,注意在传参时如果属性名冲突,可通过this指向本类的属性(或方法)
类的方法:
(1)可分为构造方法和普通方法;
(a)构造方法:方法名相同,无返回值,属于实例方法,是方法重载的一种特殊用法,可以有 无参构造方法和带参构造方法,对应一类对象;
(b)普通方法:方法名不一定相同(相同则为方法的重载),注意静态方法和是否返回值问题
(2)普通方法也可分为无参方法和带参方法
(a)无参方法:本类通过方法名调用,其他类:实例化对象后直接通过类名.方法名调用,不能直接传参,
(b)带参方法:通过实例化对象,调用该方法并传参;应为要有面向对象思想,不可以在方法里直接输入参数,注意体现传参的意义;当传参名与属性名相同时,注意可能会引起歧义
(3)还可分为静态方法与实例方法;
(a)静态成员(变量,方法)可以用类名直接访问;也可以同过创建对象访问。但不可以访问实例方法;
(b)实例成员(普通属性和方法)可以随意访问静态成员
(4)方法的重载:
方法名相同,参数的类型,个数,位置不同
类的属性与方法的封装:
Private:只能类内部可直接访问,其他类必须通过set,get方法访问;
Protected:继承访问权限,只有自己和子类可以访问其中的属性和方法;
Friendly:只有同一个包内可以访问该类的属性和方法;
Public:接口访问权限,都可以访问;