**
面向对象&类&对象
**
1、面向对象:
(1)类:具有相同属性和行为的一类事物的抽象,是一个分类,相当于模板
(2)对象:类具体的个体、实例
2、设计类:
(1)类中可以包含:变量、普通方法、构造方法(构造函数,构造器)
(2)结构:
class 类名{
成员变量;
方法;
}
eg:
class Student{
String stuName;//姓名
int stuAge;//年龄
public Student(){//无参构造器
}
public Student(String stuName,int stuAge){//有参构造器
this.stuName = stuName;
this.stuAge = stuAge;
}
public String getStuName(){//方法,获取姓名
retur stuName;
}
}
3、对象的创建
(1)语法:
类名 变量名(接收创建的类的实例) = new 类名();
eg:Student stu = new Student();//实例化一个Student类的对象,用stu接收。
(2)给属性赋值:
对象名.属性名 = 值;
4、匿名对象
没有名字的对象,没有定义变量接收的对象。
new 类名();
用途:
只使用一次,作为参数进行传递。
5、构造方法
(1)结构:
①无参构造器:
修饰符 类名(){}
eg:
public Student(){
}
②有参构造器:
修饰符 类名(参数列表){
方法体;
}
eg:
public Student(String stuName,int stuAge){//有参构造器
this.stuName = stuName;
this.stuAge = stuAge;
}
(2)调用:
①new 类名();
(3)作用:
①创建对象
②为对象的字段赋初值
eg:
Student stu = new Studeng(“丽丽”,22);
(4)注意:
①构造方法的名字与类名完全相同
②没有返回值类型,void都不能写
③构造方法必须有方法体{}
④不写修饰符,则构造方法的修饰符与修饰类的修饰符一致
⑤可以有参可以无参
⑥每一个类都至少有一个构造器
⑦若没有定义显示的构造器,则系统会使用隐式的构造器
⑧若定义了显示的构造器,则隐式的构造器不再存在
6、static关键字
(1)修饰:
①static可以修饰成员变量,方法,内部类
②有static修饰的成员变量称为——类变量
③没有static修饰的成员变量称为——实例变量
(2)调用:
①有static修饰的方法和字段(属性):
1)类名.方法名();
2)类名.属性名;
②没有static修饰方法和变量:
1)对象名.方法名();
2)对象名.属性名;
(3)静态上下文不能访问非静态的属性、方法、this