面向对象
概念
现实生活:
类:抽象的概念,把具有相同特征和操作的事物归为一类
先有实体,再有类的概念
代码世界:
类:抽象的概念,把具有相同属性和方法的对象归为一列
编写顺序:先有类,再创建对象
类的作用:类相当于一个模板,刻画出具有相同属性和方法的对象
类
- 类中只有属性和方法
- 属性也叫做全局变量,属性分为成员变量和静态变量
- 方法分为成员方法和静态方法
public class 类名{
//属性也叫做全局变量,分为成员变量和静态变量
//成员变量
数据类型 变量名;
//静态变量
static 数据类型 变量名;
//方法分为成员方法和静态方法
//成员方法
访问修饰符 返回值类型 方法名([参数]){}
//静态方法
访问修饰符 static 返回值类型 方法名([参数]){}
}
对象
创建对象的语法:类名 对象名 = new 类名();
new 构造方法; 属于对象,就在堆内存中开辟空间
类名 对象名 :对象名属于引用,存的是对象在堆内存中的地址
操作对象:
设置成员属性
获取成员属性
调用成员方法
成员属性/成员变量
语法结构:数据类型 变量名;
编写的位置:类里,方法的外面
成员变量 vs 局部变量
成员变量:类里,方法的外面的变量,并且系统会赋默认值,作用在整个类中
局部变量:方法内的变量,系统不会赋默认值,作用在方法中
成员方法
语法结构:访问修饰符 返回值类型 方法名([参数]){}
编写的位置:类里
成员方法 vs 静态方法
成员方法:属于对象的方法,必须使用对象调用
静态方法:属于类的方法,使用类名调用
构造方法
含义:和new一起是创建对象的功能
特点:
- 与类名相同的方法
- 没有返回项
作用:
1.和new在一起是创建对象
2.初始化属性
注意:
当类中没有写构造方法时,系统会默认添加无参构造(无参数的构造方法)
构造方法可以重载的
有参构造好处:创建对象时,把数据赋值给该对象
public class Person {//创建一个人类对象
//属性-全局变量
//属性的分类:成员变量、静态变量
//成员变量
String name;
char sex;
int age;
//无参构造方法,因为在下面写了有参构造,所以系统不会给我们生成无参构造
public Person(){}
//有参构造方法,可以在构造对象的时候传入参数。
public Person(String name,char sex,int age){
this.name = name;
this.sex = sex;
this.age = age;
}
//方法
//方法的分类:成员方法、静态方法、抽象方法
//成员方法
public void eat() {
System.out.println(this.name + "吃饭");
}
//成员方法
public void sleep() {
System.out.println(this.name + "睡觉");
}
}
public class Test01 {
public static void main(String[] args) {
//此处调用有参构造方法传入属性参数
Person p = new Person("铁蛋", '男', 18);
//调用方法
p.eat();
p.sleep();
}
}
铁蛋吃饭
铁蛋睡觉
创作不易,每天更新优质内容,各位路过给个关注。。。。