类——JAVA类的结构

java类的结构

类是什么

类是一个模板,它描述一类事物的属性和行为的集合
类是表示一个客观世界某类群体的基本特征的抽象
说人话就是,类就是对同一类事物(具体存在的)共有属性的,行为的定义,类是一个模板,根据某个类来创建这个类的具体实例(对象)。

类的结构

java类的结构可以分为:
1、成员变量:事物属性的描述
2、方法:事物的行为
3、构造方法:用于创建对象
4、内部类:即在类体中声明类
5、块:一段没有名称的代码块

成员变量(类的属性)

成员变量。也就是类的属性
[修饰符] 类型 变量名 = [值]

public class Car {
    //以下都是类的属性(成员变量)
    String name;
    String color;
    float price;
}

从数据类型角度分:
基本数据变量: byte short int long float double char boolean
应用数据变量:类 、数组、接口…

在这我们主要说在类中以位置划分到:成员变量和局部变量

成员变量

1、成员变量直接被类包含,就在类中直接有(在方法体之外)。
2、可以使用java语言中任何的一种数据类型(基本和引用类型都可以的)。
3、在定义成员变量时时可以对它进行初始化(就是一开始就赋值)初始化的值会跟随创建对象时一起被拿走(不建议)。如果不对其初始化,在创建对象时,调用构造方法使用java的默认值对其赋值。
4、成员变量在创建对象时会从类中复制一份到对象之中。
5、成员变量是可以被类中的方法、构造方法和特定类中的语句所访问到的。
6、成员变量的作用范围是在整个类当中。

(成员变量的生命周期:(对象创建时出现,对象结束时变量也就销毁了))。

局部变量

1、在方法(成员方法、构造方法)中,或者在代码块中包含。
2、局部变量可以使用java语言中任何数据类型(包括基本数据类型和引用数据类型)。
3、局部变形在使用前必须显示的初始化赋值(人为定义)。
4、变量的声明和初始化都是在方法当中,方法结束后,变量也是会自动销毁的
(局部变量的生命周期:(方法被调用时出现,方法运行结束时变量也就销毁了))。
变量的生命周期:变量什么时候产生,什么时候销毁。

类中的方法

方法有:成员方法、构造方法、方法的重载

在类当中也要创建出方法,在现实当中,就相当于画好一个图纸,后面在根据图纸进行转换。
成员方法:(非static修饰的)被对象调用,完成对象的功能(行为)

访问权限修饰符 返回值/void 方法名 (参数名){
return 返回值;
}

//这就是一个简单的类
public class Car {
    //以下都是类的属性(成员变量)
    //[修饰符] 类型 变量名 = [值]
    String name;
    String color;
    float price;

    //成员方法  类的行为
    //访问权限修饰符  返回值/void 方法名 (参数名){ return 返回值  }
    public void run() {
        System.out.println(name + "车辆可以行使");
    }

    public void stop() {
        System.out.println(name + "车辆可以行使");
    }
}

上面这就是创建出了一个简答的类,当创建好类后我们就要根据类给出的来创建出方法。

构造方法
1、用来初始化创建出来的对象 例如给对象中的属性进行赋值
2、构造方法的名字是和类名相同的,且是没有返回值的,也不需要void来修饰。
3、在创建一个对象时,至少要调用一个构造方法
4、(每个类都是有自己的构造方法,如果没有显式地为类定义构造方法,Java则会为该类提供一个默认的构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造就会失效)
5、当然一个类是可以拥有多个构造方法的。

public class TestCar {

    public static void main(String[] args) {
        //这是在调用构造方法
        Car b = new Car();

        Car bc = new Car("奔驰", "黑色");
        System.out.println(bc.name);
        System.out.println(bc.color);

        Car ad = new Car("奥迪", 20000f);
        System.out.println(ad.name);
        System.out.println(ad.price);
    }
}

多个构造方法,在调用时是用传的参数类型做区别的

//这就是一个简单的类
public class Car {
    String name;
    String color;
    float price;

    //构造方法
    //访问权限修饰符 方法名(也就是类名) (参数){ }
    public Car() {
        System.out.println("这是一个无参的构造方法");
    }

    public Car(String n, String c) {
        name = n;
        color = c;
        System.out.println("这是一个String、String类型的有参构造方法");
    }

    public Car(String n, float p) {
        name = n;
        price = p;
        System.out.println("这是一个String、float类型的有参构造方法");
    }
}

在这里插入图片描述
方法的重载
在同一个类当中,有多个方法他们的名称相同。
如何区分它们,是靠参数来区分的,(参数的个数不相同、类型不同 、顺序不同)
方法的重载和返回值类型是没有关系的
当然普通的成员方法也是可以重载的。

块(代码块)

>> 块的基本概念

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值