JAVA--类和对象

一、面向过程与面向对象

package array;

import java.util.Arrays;

/*
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲历亲为,详细处理每一个细节
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事
 */
public class PrintArray {

    public static void main(String[] args) {
        int[] array = {10, 20, 30, 40, 50};

        //要求打印格式为:[10, 20, 30, 40, 50]

        //使用面向过程
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if (i == array.length - 1) { //如果是最后一个元素
                System.out.println(array[i] + "]");
            } else {
                System.out.print(array[i] + ", ");
            }
        }
        //使用面向对象
        //找一个JDK给我们提供好的Arrays类
        //其中有一个toString方法,直接就能把数组变成想要的格式的字符串
        System.out.println(Arrays.toString (array));
    }
}

特点
1.面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
2.面向对象的语言中,包含了三大基本特征,即封装、继承和多态。

二、类和对象

1.类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
属性:就是该事物的状态信息。
行为:就是该事物能够做什么。
2.对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。

3.类和对象的关系

  • 类是对一类事物的描述,是抽象的。
  • 对象是一类事物的实例,是具体的。
  • 类是对象的模板,对象是类的实体。

三、类的定义

Java中用class描述事物:
成员变量:对应事物的属性
成员方法:对应事物的行为
类的定义格式

public class ClassName {
    //成员变量
    //成员方法
}
  • 定义类:就是定义类的成员,包括成员变量和成员方法。
  • 成员变量:在类中,方法外。
  • 成员方法:和以前定义方法几乎一样,只不过把static去掉。
package Class;

/*
定义一个类,用来模拟“学生”事物,其中就有两个组成部分:
属性(是什么):姓名、年龄;
行为(能做什么):吃饭、睡觉、学习。

对应到Java类中:
成员变量(属性):
    String name;//姓名
    int age;//年龄
成员方法(行为):
    public void eat() {}
    public void sleep() {}
    public void study() {}

Notice:
1.成员变量是直接定义在类当中,在方法外面。
2.成员方法不要写static关键字
 */
public class Student {

    //成员变量
    String name;
    int age;

    //成员方法
    public void eat() {
        System.out.println("吃饭");
    }
    public void sleep() {
        System.out.println("睡觉");
    }
    public void study() {
        System.out.println("学习");
    }
}

通常情况下,一个类并不能直接使用,需要根据类建立一个对象,才能使用。

1.导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
对于和当前属于一个包的情况,可以省略导包语句不写。

2.创建,格式:
类名称 对象名 = new 类名称();

3.使用,分两种分情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)

package Class;
/*
如果成员变量没有进行赋值,那么将会有一个默认值
如果是整数类型,那么默认为0
如果是浮点类型,那么默认为0.0
如果是字符类型,那么默认为'\u0000'
如果是布尔类型,那么默认为false
如果是引用类型,那么默认为null
 */
public class Student {
    public static void main(String[] args) {
        Student stu = new Student();
        System.out.println(stu.age);//0
        System.out.println(stu.name);//null

        stu.name = "蒟蒻";
        stu.age = 19;
        System.out.println(stu.age);//19
        System.out.println(stu.name);//蒟蒻

        stu.eat();//吃饭
        stu.sleep();//睡觉
        stu.study();//学习
    }
}

定义一个完整的类:

package Class;
/*
一个标准的类通常要拥有下面四个组成部分:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对getter/setter方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法

这样标准的类也叫做Java Bean
 */
public class AStudent {
    private String name;
    private int age;

    public AStudent() {
    }

    public AStudent(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值