JAVAJ面向对象(上)
性质:
1.封装性。可看为两层含义:一层含义是指把对象的属性和行为看成是一个整体另一层含义是指将类中的重要信息隐藏。
2.继承性。在开发时可能需要许多类名不同但参数列表返回值相同的情况这样会大大降低开发的效率正所谓言多必失。
因此继承增强了代码的复用性,提高了开发效率,还降低了程序产生错误的可能性,为程序的维护和拓展提供了便利。
3.多态性。可以使得同一个属性在不同类中具有不同的含义使得程序更抽象便捷。
**
类与对象
1.类的定义:
在面向对象的思想中最核心的是对象,而创造对象的前提是有一个类,类是JAVA中的基本元素。类名的定义格式如下:
class{
成员变量;
成员方法(函数);
}
注意:要分清局部变量与成员变量的不同,局部变量是定义在类中的,成员变量是定义在方法中的。
2.对象的创建与使用:
格式如下:
类名 对象名称 = NUll;
对象名称 = new 类名();
在创建对象后可以使用对象来访问类中的某个属性或方法。使用" ."来实现。
例子如下:
class Student{
String name;
void read(){
System.out.println("大家好,我是"+name);
}
}
class Example{
public stayic void main(String[] args){
Student stu1 = new Student();
Student stu2 = new Student();
stu1.name = 小明;
stu1.read();
stu2.name = 小花;
stu2.read();
}
}
结果为:
大家好,我是小明。
大家好,我是小花。
封装性
使用private来修饰方法与属性。被私有化的属性只能在本类中被访问。若外界想要访问必须通过 setter 与 getter 方法设置和获取属性值。
构造方法
再定义是需要注意以下几点:
1.构造函数名称必须与类名相同。
2.构造函数前不能有任何返回值类型声明。
3.不能再函数体能return 值但可以用return 来结束函数。
4.在new 一个新的对象是 程序会在类中自动调用构造函数。
构造方法的重载
在一个类中可以定义多个构造函数,只要函数的参数或参数个数不同即可。
在定义类时会自动生成一个无参构造函数一旦定义了构造函数将不存在默认的无参构造函数,
static关键字
在JAVA中使用static修饰属性,则该属性称为静态属性也称全局属性,静态属性可以直接使用类名访问。
example:
假如现在有一程序数据库中存储了十万名来自A大学的大学生信息。现在A大学改名为B大学。在不使用全局变量是我们需要将这十万名大学生的所有大学信息改为B大学这在现实中几乎是不可能的。
因此,我们可以使用static关键字修饰school属性,将其变为公共属性这时只需要更改一个属性,所有信息就会被修改。
1.用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;
2.用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;
3.静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键;
4.静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。
且被static修饰后该属性或方法随类加载加载随类消失而消失。只被加载一次。