疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java类、对象和构造方法


 

   

  java中对象和类

  java中万物皆对象,比如说动物,里面有猫,狗,鱼等等,他们都能跑,都能呼吸,总之他们有一些动物的共同特征,java中可以把他们归为一类。这就是java中的类;而猫,狗等,就是这个类中的一个具体的对象。

  猫,狗又有一些动作行为,就是方法.

  当你想调用那些动作行为的时候,不能直接在类中调用,因为不同的动物的行为不一样,你就必须new一个对象,来调用.

  java中类

  先来看个例子

  复制代码

  public class Dog{

  String name;

  int age;

  void bark(){ // 汪汪叫

  System.out.println("汪汪,不要过来");

  }

  void hungry(){ // 饥饿

  System.out.println("主人,我饿了");

  }

  }

  复制代码

  对上面例子说明:

  public 是类的修饰符,表明该类是公共类,可以被其他类访问。

  class 是定义类的关键字。

  Dog 是类名称。

  name、age 是类的成员变量,也叫属性;bark()、hungry() 是类中的函数,也叫方法。

  java变量类型

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

  局部变量:在方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

  成员变量:成员变量是定义在类中、方法体之外的变量。这种变量在创建对象的时候实例化(分配内存)。成员变量可以被类中的方法和特定类的语句访问。

  类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。static 也是修饰符的一种。

  构造方法

  注意事项:

  在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。

  构造方法的名称必须与类的名称相同,并且没有返回值。

  每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。

  举个栗子:

  复制代码

  package com.lechebang.www;

  /**

  * Created by manlili on 2016/9/21.

  */

  public class Dog{

  String name;

  int age;

  public Dog () { //构造方法

  System.out.println("我是构造方法");

  }

  void bark(){ // 汪汪叫

  System.out.println("汪汪,不要过来");

  }

  void hungry(){ // 饥饿

  System.out.println("主人,我饿了");

  }

  }

  复制代码

  Java中对象

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

  ①声明:声明一个对象,包括对象名称和对象类型。

  ②实例化:使用关键字new来创建一个对象。

  ③初始化:使用new创建对象时,会调用构造方法初始化对象。

  举个栗子:

  复制代码

  public class Dog{

  String name;

  int age;

  public Dog () { //构造方法

  System.out.println("我是构造方法");

  }

  void bark(){ // 汪汪叫

  System.out.println("汪汪,不要过来");

  }

  void hungry(){ // 饥饿

  System.out.println("主人,我饿了");

  }

  public static void main(String[] args) {

  Dog myDog = new Dog();

  }

  }

  复制代码

  执行结果是

  访问实例变量和方法

  // 实例化

  Dog myDog = new Dog("花花", 3);

  // 通过点号访问成员变量

  myDog.name;

  // 通过点号访问成员方法

  myDog.bark();

  举个例子:

  复制代码

  public class Dog2{

  String name;

  int age;

  // 构造方法,没有返回值

  Dog2(String name1, int age1){

  name = name1;

  age = age1;

  System.out.println("感谢主人领养了我");

  }

  // 普通方法,必须有返回值

  void bark(){

  System.out.println("汪汪,不要过来");

  }

  void hungry(){

  System.out.println("主人,我饿了");

  }

  public static void main(String arg[]){

  // 创建对象时传递的参数要与构造方法参数列表对应

  Dog2 myDog = new Dog2("花花", 3);

  String name = myDog.name;

  int age = myDog.age;

  System.out.println("狗狗的名字是"+name+";狗狗年龄是"+age);

  myDog.bark();

  myDog.hungry();

  }

  }

  复制代码

  运行结果: