【JAVA】对象和类

Java对象和类

java作为一种面向对象的语言,支持以下概念

  • 多态
  • 继承
  • 封装
  • 抽象
  • 对象
  • 实例
  • 方法
  • 重载
对象

对象是类的一个实例,有着行为和状态

类是一个模板,描述了一类对象的行为和状态

以上概念类似于:

汽车是一个类,其中有红色福特、红色野马

蓝色丰田等。其中汽车的具体车辆是对象

根据理解可以创建一个简单的类来理解java中的类的定义

public class Dog{
        String breed;
        int size;
        String colour;
        int age;
        
        void eat(){
            
        }
        
        void run(){
            
        }
        
        void sleep(){
            
        }
        
        void name(){
            
        }
    }

这是一个动物的类,其中定义了各类元素

其中一个类可以包括以下类型变量

  • 局部变量:在方法、构造方法钟定义的变量叫做局部变量。变量声明和初始化都在方法中,方法结束后变量也会自动销毁
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候进行实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问
  • 类变量:类变量也声明在类中,方法体之外,但那是必须声明为static类型

一个类可以拥有多个方法,上面例子中的eat(),run()等都是Dog类的方法

构造方法

每个类都有构造方法。如果没有显示的为类定义方法,java编译器会给和给该类提供一个默认的构造方法。

在创建一个对象的时候,至少要调用一个构造方法,构造方法的名称必须与类同名。一个类可以有多个构造方法。

创建对象

对象是根据类创建的。在java中,使用关键字new来创建一个新的对象。创建对象需要以下三步。

  • 声明:声明一个对象,包括对象名称和对象类型
  • 实例化:使用关键字new来创建一个对象
  • 初始化:使用new创建对象时,会调用构造方法初始化对象
public class Puppy {
    public Puppy(String name){
        System.out.println("小狗的名字是:"+name);
    }

    public static void main(String[] args) {
        Puppy myPuppy = new Puppy("Tonny" );
    }
}

实例

package testtwo.demo;

public class Puppy {//定义Puppy类
    int PuppyAge; 
    public Puppy(String name){   //类的构造函数
        System.out.println("小狗的名字是:"+name);//在调用该函数时会输出该内容
    }

    public void setAge(int age){//创建方法函数,该方法是获取数字赋值给PuppyAge变量。
        PuppyAge=age;
    }
    public int getAge(){//创建方法函数,输出小狗年龄
        System.out.println("小狗年龄为:"+PuppyAge);
        return PuppyAge;
    }

    public static void main(String[] args) {
        Puppy myPutty = new Puppy("Tonny");//创建对象myPuppy
        myPutty.setAge(2);//调用方法来设置age
        myPutty.getAge();//调用方法获取age
        System.out.println(myPutty.PuppyAge);//另一种方法获取成员变量
    }

}

源文件声明规则

当一个源文件中定义多个类,并且还有import语句和package语句的时候,要特别注意这些规则

  • 一个源文件中只能有一个Public类
  • 一个源文件可以有多个非Public类
  • 源文件的名称应该和public的类名保持一致
  • 如果一个类定义在某一个包中,那么package语句应该放到源文件的首行
  • 如果源文件包含import语句,那么应该放在package语句和类定义之间,如果没有package语句,那么import语句应该放在源文件的最前面
  • import语句和package语句对源文件中定义的所有类都有效,在同一源文件中,不能给不同类不同包声明
package testtwo.demo;

import java.security.PublicKey;

public class Employee {
    String name;
    int age;
    String designation;
    double salary;
    public Employee(String name){
        this.name=name;
    }
    public void empAge(int empAge){
        age=empAge;
    }
    public void empSalary(double empSalary){
        salary=empSalary;

    }
    public void empDesignation(String empDesig){
        designation=empDesig;
    }

    public void printfEmployee(){
        System.out.println("名字:"+name);
        System.out.println("年龄:"+age);
        System.out.println("职位:"+designation);
        System.out.println("薪水:"+salary);
    }
}


package testtwo.demo;

public class EmployeeTest {
    public static void main(String[] args) {
        Employee empOne = new Employee("people1");
        Employee empTwo = new Employee("people2");
        empOne.empAge(26);
        empOne.empDesignation("高级程序猿");
        empOne.empSalary(1000);
        empOne.printfEmployee();

        empTwo.empAge(21);
        empTwo.empDesignation("菜鸟程序猿");
        empTwo.empSalary(500);
        empTwo.printfEmployee();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ACHAI:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值