6-java 对象和类

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值