Java面向对象(上)
一.面向对象的概念
1.面向过程
分析解决问题所需的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用
2.面向对象
把解决的问题按照一定的规则划分成多个独立的对象,退过调用对象的方法来解决问题,通过多个对象的配合来实现程序的功能
二.类与对象
1.类的概念
用来描述一组对象的共同特征和行为,是对象的蓝图
2.类的介绍
类中包含成员变量与成员方法
(1)成员变量
用于描述对象的特征,也被称为属性,写在方法体外面,分为静态变量(类变量)用static修饰和实例变量不用static修饰
(2)成员方法
用于描述对象的行为,也被称为方法,包含方法体与局部变量。局部变量可与成员变量同名。
3.对象的创建与使用
(1)创建对象
类名 对象名; //创建应用变量
new Person(); //实例化一个类
对象名=new Person(); //创建链接
*连在一起就是:
类名 对象名=new 类名();
如:Person pr=new Person();
*对象是放在垃圾回收对象的,当没有任何变量引用这个对象时它将成为垃圾对象被回收
(2)方法和属性的调用
对象引用.方法名()或.属性;
如:pr.ag;
pr.print();
4.类的封装
(1)概念
是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
(2)好处
只能通过规定方法访问数据、隐藏类的实现细节、方便加入控制语句、方便修改实现
(3)使用
用private来修饰所要封装的方法和属性
通过设置器 setXXX()和访问器 getXXX()来修改和访问,设置器和访问器不能用private修饰
三.构造方法
1.定义
方法名与类名相同,方法名前面没有返回值类型的声明,方法中不能用return返回一个值
2.作用
仅用于初始化对象,如果自己不定义系统会自定义一个无参的构造方法,一旦自己定义系统不会在自定义了
3.构造方法的重载
一个类中可以定义多个构造方法,但方法的参数类型或参数个数不同即可
四.this和static关键字
1.this用法
(1)通过this.成员变量,可以去访问一个类的成员变量,解决与局部变量名字冲突的问题
(2)通过this调用成员方法
(3)通过this()来调用其他构造方法
(4)this本类当中的对象(不常用)
2.static
被static修饰的随类的加载尔创建,且只能创建一次,非静态方法可以调用静态变量,静态方法不能调用实例变量
在定义一个类时并不会产生具体数据,只有用new关键字实例化一个对象时,系统才会为该对象分配内存空间
(1)静态变量
有时候我们希望某些特定的数据在内存中只有一份,且能被每个对象所共享我们需要静态
变量即用static修饰的成员变量不能用于修饰局部变量
(2)静态方法
不需要创建对象就可以调用的方法,用static修饰的方法
(3)静态代码块
static{}
五.内部类
1.成员内部类
他可以访问外部类的属性和方法,
外部类名.内部类名 变量名=new 外部类名().new 内部类名();
2.静态内部类
用static修饰一个成员内部类,他可以在不创建外部类对象时被实例化
3.方法内部类
只能在当前方法中使用