Java面向对象

关键词:面向对象

java类的定义

public class Dog{
  String breed;
  int age;
  String color;
  void barking(){
  }
  void hungry(){
  }
  void sleeping(){
  }
}

一个类可以包含以下类型变量:

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

构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

public class Puppy{
int puppyAge;
public Puppy(String name){
// 这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}

public void setAge( int age ){
puppyAge = age;
}

public int getAge( ){
System.out.println("小狗的年龄为 : " + puppyAge );
return puppyAge;
}

public static void main(String []args){
/* 创建对象 /
Puppy myPuppy = new Puppy( "tommy" );
/
通过方法来设定age /
myPuppy.setAge( 2 );
/
调用另一个方法获取age /
myPuppy.getAge( );
/
你也可以像下面这样访问成员变量 */
System.out.println("变量值 : " + myPuppy.puppyAge );
}
}

输出结果
    * 小狗的名字是 : tommy  小狗的年龄为 : 2  变量值 : 2


import java.io.*;

public class Employee{
String name;
int age;
String designation;
double salary;
// Employee 类的构造器
public Employee(String name){
this.name = name;
}
// 设置age的值
public void empAge(int empAge){
age = empAge;
}
/* 设置designation的值/
public void empDesignation(String empDesig){
designation = empDesig;
}
/
设置salary的值/
public void empSalary(double empSalary){
salary = empSalary;
}
/
打印信息 */
public void printEmployee(){
System.out.println("名字:"+ name );
System.out.println("年龄:" + age );
System.out.println("职位:" + designation );
System.out.println("薪水:" + salary);
}
}

程序都是从main方法开始执行。为了能运行这个程序,必须包含main方法并且创建一个实例对象。

public class EmployeeTest{

public static void main(String args[]){
/* 使用构造器创建两个对象 */
Employee empOne = new Employee("RUNOOB1");
Employee empTwo = new Employee("RUNOOB2");

  // 调用这两个对象的成员方法
  empOne.empAge(26);
  empOne.empDesignation("高级程序员");
  empOne.empSalary(1000);
  empOne.printEmployee();

  empTwo.empAge(21);
  empTwo.empDesignation("菜鸟程序员");
  empTwo.empSalary(500);
  empTwo.printEmployee();

}
}

结果

$ javac EmployeeTest.java
$ java EmployeeTest
名字:RUNOOB1
年龄:26
职位:高级程序员
薪水:1000.0
名字:RUNOOB2
年龄:21
职位:菜鸟程序员
薪水:500.0

你可能感兴趣的:(Java面向对象)