Java-4 类和对象

一、Java是面向对象的编程性语言

1、什么是面向对象

完成一件事情,是对象与对象之间进行交互完成

2、面向对象关注的三点:

找对象 -> 抽象一个类出来

创建对象-> 通过new关键

使用对象

举个生活中的例子来帮助理解:对于洗衣服来说,

面向过程:倒水 -> 放衣服 -> 加洗衣液 -> .....->拧干衣服 

面向对象:人 将衣物与洗衣液一起放入洗衣机

整个过程是人、衣服、洗衣液、洗衣机四个对象之间交互完成,人不需要关心衣物是如何洗的

二、什么是类和对象

1、什么是类

举例:

定义一个person类,属性有姓名、年龄;方法有sleep(),eat();

class Person{
    public String name;//属性(成员变量)
    public int age;
    public void sleep(){  //方法(成员方法)
        System.out.println("睡觉");
    }
    public void eat(){
        System.out.println("吃饭");
    }
}
public class TestDemo {
    public static void main(String[] args) {
        Person person = new Person();  //通过new关键字实例化多个对象
    }
}

成员变量可以不初始化,每个成员变量都是它所对于的0值,程序运行不会报错。

(1)引用类型对应的是null

(2)boolean对应的是false

(3)char对应的是\u000,是Unicode编码对应的空格 

2、什么是对象

类产生对象(通过实例化) —> 通过new关键字创建对象

可以这样比喻类和对象的关系:类是建造房子的图纸,对象是房子实体,一个类可以创建多个对象。

三、构造方法

当我们实例化一个对象的时候,一定会有这两部,但不一定只有这两步

1.为对象分配内存

2.调用合适的构造方法

1、构造方法作用:

是用来帮成员变量进行初始化的,构造方法是一种特殊的成员方法

方法中的变量称为局部变量,局部变量是必须要初始化的,不然编译器会报错;

而成员变量可以不初始化,编译器会给它赋初值。

2、初始化成员变量:

方法一:利用set()方法初始化

public class Date {
    public int year;
    public int month;
    public int day;
    public void setDay(int y,int m,int d) { //set方法
        this.year = y;
        this.month = m;
        this.day = d;
    }
    public static void main(String[] args) {
       //构造三个日期类型的对象
        Date d1 = new Date();
        Date d2 = new Date();
        Date d3 = new Date();
       //利用set方法初始化
       d1.setDay(2000,9,25);
       d2.setDay(2002,7,14);
       d3.setDay(2020,11,7);
    }
}

方法二:利用构造方法初始化

1、 名字与类名相同,没有返回值,设置成void也不行

2、一般使用public进行修饰

3、在创建对象时,由编译器自动调用,并且在对象的生命周期内只调用一次

public class Date {
    public int year;
    public int month;
    public int day;
    public Date(int y,int m,int d) { //构造方法
        this.year = y;
        this.month = m;
        this.day = d;
    }
    public static void main(String[] args) {
        Date date = new Date(2000,9,25); //在实例化的时候就进行赋值
    }
}

3.构造方法的重载

(1)当我们没有写构造方法时,编译器会帮我们默认提供一个不带参数的构造方法

例如:

(2)构造方法的重载以及应用

使用构造方法进行初始化 

4.打印对象的属性

方法一:自己写一个show()方法

方法二:使用自带的toString

(1)右键,选Generate

(2)选择toString 

 

  写了toString 

 如果我们不写toString,系统就会调用默认的Object类的toString方法,就会变成这样

四、this的使用

1.this.data; //访问属性

2.this.func(); //访问方法

3.this(); //调用本类中其他构造方法

详情见博客

http://t.csdn.cn/lC9kE

猜你喜欢

转载自blog.csdn.net/benxiangsj/article/details/123801496