欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java对象和类

程序员文章站 2024-03-15 17:37:36
...

java 是一种面向对象的语言,拥有下面这些特性:
多态
继承
封装
抽象化

对象
实例
方法
消息解析
----------------
对象
简单比喻就是一只猫,有名字,性别,会的技能有撒娇,吃饭。。。
对象就是指拥有状态和行为的事物


对象就是从类从被创造的

public class cat{
    String color;
    int age;
    String name;
    void crew(){
        xxxxx
    }
    void eat(){
       xxxxx
    }
}

一个类里面可以包含一切变量类型

  • 本地变量:变量被定义在方法,构造函数或块中的变量,该变量会被声明和初始化在方法中,当方法完成的时候该变量就会被销毁

  • 实例变量 实例变量是在类里面的变量但是在方法外面的,这些变量会被初始化当类会实例化的时候,实例变量可以被该类里面的一切方法,构造函数或则块访问

  • 类变量 类变量是声明在一个类里面,在方法外面,并带有static关键词的一些变量

一个类中,可以有很多方法来访问各种方法的值


构造函数
每个类都有一个构造函数,如果我们没有明确的写一个构造函数,Java编译器会为这个类创建一个构造函数

每次当一个新对象产生,至少一个构造函数会被调用,构造函数的主要规则是他们应该有相同的名和类名一样,一个类可以有大于一个构造函数

public class Puppy(){
    public Puppy(){//构造函数要和类名一样啊
        xxxxx
    }
}


public calss Puppy(){
    public Puppy(String name){//多了一个参数name
        xxxxx
    }
}

创建一个对象
1.声明---一个变量声明需要有变量类型和变量名
2.实例化----使用new 关键字创造对象
3.初始化---new关键字紧跟着一个构造函数

public class createObject{
    public createObject(String name){ //注意构造函数方法名和类名一致
        System.out.println("hello"+name);
    }
    public static void main(String[] args) {
        createObject myPuppy = new createObject("blue");
    }
}

访问实例变量和方法

实例化
ObjectReference = new Constructor();

访问变量
ObjectReference .VariableName

访问方法
ObjectReference.MethodName()

demo:

public class AccessVariableMethod{
    int catAge;
    public AccessVariableMethod(String name){ //构造函数,注意不能写了void
        System.out.println("hello "+name);
    }
    public void setAge(int age){
        catAge = age;
    }
    public int getAge(){ //注意写的是int,要对应返回的数据类型
        return catAge;
    }
    public static void main(String[] args) {
        AccessVariableMethod cat = new AccessVariableMethod("blue");
        cat.setAge(6);
        cat.getAge();
        System.out.println(cat.catAge);
    }
}

java对象和类


源文件的声明规则
1.在一个源文件中只有一个public类,可以有多个非public类
2.public类名应该和文件名要一样,并且后缀名为.java public class Employee{} Employee.java
3.如果一个类名定义在一个包package中那么package语句中的源文件应该出现在第一句语句中

  1. 如果导入语句存在,他们应该被写在包声明和类声明之间,如果没有包声明,导入语句应该在源文件第一句
    5.导入和包声明意味着所有的类将出现在源文件中,不可以声明不同导入或则包声明在不同的类中
    ---------------------
    Java 包
    简单来说就是 ,分类了类和接口,当开发在Java中,几百个类或则接口将被编写,因此存在包中容易管理
    --------------------
    导入声明
    如果名字规范,Java会容易找到对应的源代码和类
    例如:导入Java可用的所有类
    import java.io.*

Employee.java

import java.io.*;
public class Employee {

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name) {
      this.name = name;
   }

   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge) {
      age = empAge;
   }

   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig) {
      designation = empDesig;
   }

   /* Assign the salary to the variable salary.*/
   public void empSalary(double empSalary) {
      salary = empSalary;
   }

   /* Print the Employee details */
   public void printEmployee() {
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

EmployeeTest.java

import java.io.*;
public class EmployeeTest {

   public static void main(String args[]) {
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

上一篇: 归并排序

下一篇: 华为机试题整理