类与对象

1.什么是类

  • 类是具有相同的状态和相同的行为的一组对象的集合。例如:书、

电脑、人、老师,像这样特指一类的名称就是类。

1.1. 类和对象是什么关系

类和对象的关系就如同模具和用这个模具制作出来的物品之间的关

系。一个类给出它的全部对象的一个统一的定义,而它的每个对象

则是符合这种定义的一个实体(也称作实例),因此类和对象的关

系就是抽象和具体的关系。

2 .什么是对象

  • 万事万物皆对象

  • 对象强调的是一个具体的个体

例如:杨树就不是对象,我家门前第一颗杨树就是对象。

2.1.对象由什么构成

  • 对象由 状态 和 行为 构成

  • 对象的状态是指对象的数据,对象的状态由变量表示,也叫对象的属性。

  • 对象的行为是指对象的功能,对象的行为由方法表示。

2.2.对象是怎么创建的

-对象是由类实例化时创建的,因此创建对象必须先定义类。

  • 类是对象的模板,类中定义了什么属性和方法,由这个类实例化的对象就有什么属性和方法。

  • 类是一次性定义,对象可以多次创建。

3 代码定义类

3.1.类的构成

  • 类是有属性与方法构成的

示例: 定义学生类,属性包括名字与成绩,方法有自我简绍

public class Student1 {
    String name; //类的属性
    int  score;

    //类的构造方法
    public Student1(String name,int  score){
        this.name = name;
        this.score = score;
    }
  //类的自我简绍方法
    public void  speak(){
        System.out.println("我的名字是:" + this.name +",这次考试成绩是:"+ this.score);
    }
}

4.实例化对象

  • 通过类创建对象的过程称为类的实例化。实例化的结果是产生了一个实例,实例也叫对象。
  • 通过 new的方法创建实例化对象
Student s1 =new Student();
Student s2 =new Student();

5.对象的调用属性

  • 对象调用属性和方法是使用成员运算符 . 来完成的
        Student s1 =new Student();
        s1.name="haha";
        s1.score=78;

        Student s2 =new Student();
        s2.name="yaya";
        s2.score=98;

6.类的构造方法

  • 构造方法也叫构造函数,或者叫构造器
    1. 构造方法的方法名必须与类名相同
    2. 构造方法没有返回值,也不写void
      例如:
class Student {
    //构造方法
   public  Student(String name,int score){
        this.name = name;
        this.score = score;
    }
}

6.1构造方法的调用

class Student {
    String name;
    int score;
    String no;

    /**
     * 有两个参数的构造方法
     * @param name1
     * @param score1
     */
    Student(String name1,int score1){
        name= name1;
        score= score1;
    }
}

6.2.构造方法的方法重载

  • 方法名相同 参数不同 与返回值无关
class Student {
    String name;
    int score;
    String no;

    //第1种构造方法的重载
    Student(String name1,int score1){
        name= name1;
        score= score1;
    }
    //第2种构造方法的重载
    Student(String name1, int score1, String no1) {
        name = name1;
        score = score1;
        no = no1;
    }
}
public class StudentTest {
    public static void main(String[] args) {
        Student s1 =new Student("haha",76);//调用第1种构造方法的重载
        Student s2 =new Student("yaya",67,"111");//调用第2种构造方法的重载
    }
}

6.3.构造方法的调用

  • 构造方法是在实例化对象时调用的。并且实例化时传递的参数必须有构造方法的参数一致。
 public static void main(String[] args) {
    Student s1 =new Student("haha",76);
    s1.Student("haha",88);//错误的,对象名不允许调用构造函数  
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容