面向对象、类、对象 21

面向对象概述

java是面向对象的高级编程语言。面向对象实现:可以简单的认为是用代码去高度模拟现实世界的事物。

面向对象中最重要的2个概念:类,对象。

类的理解

  • 类是对相同事物共同属性和行为的描述。 人类、学生类、老师类、官员、商人。
    简单理解:类就是对现实事物的一种描述

类的组成

  • 属性(成员变量):指事物的特征,例如:人类(名称,年龄,身高,体重)
  • 行为(成员方法):指事物能执行的操作,例如:人类(唱歌,跳舞)

对象

  • 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。
  • 对象是真实存在的实例。 对象==实例。

类的定义

类中通常能见到2种成分:
类的组成是由属性和行为两部分组成

  • 属性:在类中通过成员变量来体现
  • 行为:在类中通过成员方法来体现

类的定义格式:

修饰符 class 类名{
             // 1、成员变量:Field(描述类或者对象的属性信息的,例如:身高,体重,名称)
             // 2、成员方法: Method(描述类或者对象的行为信息的,例如:唱歌,跳舞,买票)
             // 3、构造器: Constructor(初始化类的一个对象出来)
             ....
        }

类定义的要求

1、类名首字母建议大写,满足驼峰模式,不能用关键字,必须合法标识符,且要有意义。
2、一个Java文件中可以定义多个类,但是只能有一个类是用public修饰的,而且public修饰的类名,必须成为Java代码的文件名称,否则报错!
3、一个Java代码文件中也可以没有一个类是用public修饰的,此时代码文件名称可以随意
4、但是还是建议一个java文件中只定义一个类。

例如:

public class People {
    // 1、属性
    String name; // 名称
    int age ; // 年龄
    double height ; //身高
    double weight ; // 体重

    // 2、行为
    public void sing(){
        System.out.println("唱的真好!!");
    }

    public void jump(){
        System.out.println("跳的真美!!");
    }
}

对象的创建

创建对象的格式:
类名 对象名称 = new 类名();
调用成员变量的格式:
对象名.成员变量
调用成员方法的格式:
对象名.成员方法();

public class PeopleDemo {
    public static void main(String[] args) {
        // 1、创建对象的格式:
        // 类名 对象名称 = new 类名();
        People wuHao = new People();

        // 2、调用成员变量的格式:对象名.成员变量
        System.out.println(wuHao.name); // null
        wuHao.name = "吴昊"; // 赋值
        wuHao.age = 18 ; // 赋值
        wuHao.weight = 60; // 赋值
        wuHao.height = 180 ;// 赋值
        System.out.println(wuHao.name); // 吴昊
        System.out.println(wuHao.age);  // 18
        System.out.println(wuHao.weight); // 60.0
        System.out.println(wuHao.height); // 180.0

        // 3、调用成员方法的格式:对象名称.成员方法
        wuHao.sing();
        wuHao.jump();
    }
}

class People {
    // 1、属性
    String name; // 名称
    int age ; // 年龄
    double height ; //身高
    double weight ; // 体重
    // 2、行为
    public void sing(){
        System.out.println("唱的真好!!");
    }

    public void jump(){
        System.out.println("跳的真美!!");
    }
}

注意:对象可以直接把自己赋值给另一个对象,这个赋值的地址,其中只要修改了一个另一个也会修改。跟引用类型的数组有点像。

Student minGe = xuMin; // 把xuMin这个对象变量存储的地址赋值给了minGe变量

例子:

public class StudentDemo {
    public static void main(String[] args) {
        Student xuMin = new Student();
        System.out.println(xuMin); // 6d03e736
        xuMin.name = "徐敏";
        xuMin.age = 18 ;
        System.out.println(xuMin.name); // 徐敏
        System.out.println(xuMin.age); // 18
        xuMin.study();
        xuMin.doHomeWork();

        System.out.println("-----------------------------------");
        Student minGe = xuMin; // 把xuMin这个对象变量存储的地址赋值给了minGe变量
        System.out.println(minGe); // 6d03e736
        minGe.name = "敏哥";
        System.out.println(xuMin.name); // 敏哥
        System.out.println(minGe.age);  // 18
        minGe.study();
        minGe.doHomeWork();
    }
}
class Student{
    // a.属性(成员变量)
    String name ;
    int age ;
    // b.行为(方法):学习
    public void study(){
        System.out.println("好好学习,天天向上");
    }
    // c.行为(方法):抄写代码
    public void doHomeWork(){
        System.out.println("写代码、写代码、写代码。");
    }
}
发布了34 篇原创文章 · 获赞 16 · 访问量 283

猜你喜欢

转载自blog.csdn.net/qq_41005604/article/details/105225405