6-java 对象和类

来源:互联网 发布:怎样找网络兼职 编辑:程序博客网 时间:2024/05/16 11:25

Java中的类可以看做是C语言中结构体的升级版。
Java中的类也是一种构造数据类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量叫做“对象”。

一、概念

一条狗,它的状态有:颜色、名字、品种; 行为有:摇尾巴、叫、吃等。对象:对象是类的一个实例,有状态和行为,狗就是一个对象。类:类是一个模板,它描述一类对象的行为和状态。

1)、Java中的对象

类似狗的现实对象,程序中软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。

2)、Java中的类

类可以看成创建Java对象的模板
    publicclass Dog{        int age;        String breed;        String color;        void barking(){            ……        }        void sleeping(){            ……       }    }
一个类可以有多个方法,barking(),sleeping()都是类的方法。

二、构造方法

   在类实例化的过程中自动执行的方法叫做构造方法,它不需要手动调用,构造方法可以在类实例化的过程中做一些初始化工作。   每个类都有构造方法,如果没有显式的为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。   在创建对象的时候,至少要调用一个构造方法,构造方法的名称必须与类同名,一个类可以有多个构造方法。
 public class Puppy{        publicPuppy(String name){     //构造方法        }    }
ps:构造方法不能被显示调用。构造方法不能有返回值,因为没有变量来接收返回值。

三、创建对象

对象是根据类创建的,在Java中,使用关键字new来创建一个新的对象。1)、声明:声明一个对象,包括对象名称和对象类型。2)、实例化:使用关键字new来创建一个对象。3)、初始化:使用new创建对象时,会调用构造方法初始化对象。
public class Puppy{    public Puppy(String name){        ……    }    public static void main(String []args){        PuppymyPuppy = new Puppy(“abc”);   //这里创建一个Puppy对象    }}

四、访问实例变量和方法

通过已创建的对象来访问成员变量和成员方法,如下所示:ObjectReference= new Constructor();  /* 实例化对象 */ObjectReference.variableName; /* 访问其中的变量 */ObjectReference.MethodName(); /* 访问类中的方法 */下面的例子展示如何访问实例变量和调用成员方法:
public class Puppy{    int puppyAge;    public Puppy(String name){// 这个构造器仅有一个参数:name        System.out.println("Passed Name is:" + name );    }    public void setAge( int age ){        puppyAge = age;    }    public int getAge( ){        System.out.println("Puppy's age is:" + puppyAge );        return puppyAge;    }    public static void main(String []args){        Puppy myPuppy = new Puppy("tommy" ); /* 创建对象 */        myPuppy.setAge( 2 );  /* 通过方法来设定age */        myPuppy.getAge( );    /* 调用另一个方法获取age */        /*访问成员变量 */        System.out.println("Variable Value:" + myPuppy.puppyAge );           }    }

五、源文件声明规则

1> 一个源文件中只能有一个public类
2> 一个源文件可以有多个非public类
3> 源文件名称应该和public类的类名保持一致
4> package语句应该放在源文件首行
5> import语句和package语句对源文件中的定义的所有类都有效。在同一源文件中,不能给不同类不同的包声明

0 0
原创粉丝点击