Java面向对象(一)类与对象

发布于 2023-01-03  230 次阅读


一.什么是类,如何创建类

1.什么是类

  • 类:是一个模板,描述一类对象的 属性 行为
  • 对象:是类的一个实例,有 属性 行为

2.如何定义类

声明用到class关键字,后面接类的名字

class Demo{
//声明了一个Demo类
}

3.设置类的属性和方法

class Student{//定义Student类
    int age;//定义age属性
    String name;//定义name属性
    String sex;//定义sex属性

    void eat(){//定义eat方法
        System.out.println(name+"正在吃饭");//方法内容
    }
}

4.创建对象,使用对象的属性和方法

对象的创建用到new关键字

语法:类名 对象名(自己创建的名字) = new 类名();

给对象的属性赋值

语法:对象名.属性名 = 值;

使用对象的属性

语法:对象名.属性名

调用对象的方法:

语法:对象名.方法名();

所有语法的例子:

public class Demo{//声明Demo对象
    public static void main(String[] args){//程序主入口
        Student stu = new Student();//创建Student对象
        stu.age = 12;//对象属性赋值
        stu.name = "张三";
        stu.sex = "男";

        System.out.println("我叫"+stu.name+"今年"+stu.age+"岁");

        stu.eat();//调用对象方法
        stu.sleep();
        stu.study();
    }
}

class Student{//声明Student对象
    int age;
    String name;
    String sex;

    void eat(){
        System.out.println(name+"正在吃饭");
    }

    void sleep(){
        System.out.println("睡觉");
    }

    void study(){
        System.out.println("学习");
    }
}

结果输出

我叫张三今年12岁
张三正在吃饭
睡觉
学习

二.构造方法

定义:对象被创建的时候会调用的方法(被new时)

举个栗子

public class Demo01{
    public static void main(String[] args){
        Student stu = new Student();
    }
}

class Student{
    public Student(){//构造方法
        System.out.println("学习");
    }
}

输出

学习

使用构造方法

class Student{
    String name;
    int age;
    public Student(){
        System.out.println("构造方法");
    }
    public Student(String stuName){
        name = stuName;
        System.out.println("带参数的构造方法,name为"+name);
    }
    public void hello(){
        System.out.println("无返回值的普通方法");
    }
    public int hello(int a,int b){
        return a+b;//带参数有返回值的普通方法
    }
}

创建对象

public class Demo01{
    public static void main(String[] args){
        Student stu = new Student();
        Student stu1 = new Student("张三");
    }
}

输出

构造方法
带参数的构造方法,name为张三

小结:

  1. 构造方法可以有参数也可以无参数
  2. 构造方法无返回值也不需要声明void关键字
  3. 构造方法名必须和类名相同

三.This关键字

1.成员变量

成员变量就是对象的属性

public class Demo01{
    int age = 11;//Demo01的成员变量
    public static void main(String[] args){
        int age = 10;//局部变量
    }
}
class Person{
    String name;//Person的成员变量
    int age;
}

2.this关键字

用法

(1). this.属性
class Person{
    String name;//Person的成员变量
    public Person(String name){
        this.name = name;//this.name表示Person的成员变量,name表示Person()中的变量
    }
}

一个努力学习HTML,css,JavaScript,PHP,Java,VB,Python,Linux,Windows,c#的高中生