06.类

类是组成java程序的基本要素,类封装了一类对象状态和方法,类是用来定义对象的模板。

 

1.    类的定义:同过class关键字来定义一个类(一个类中只能有一个pulic类)、

格式:

        class 类名{

               属性;

               方法;

}

2.    类体:写类的目的是为了描述(抽象)一类事物共有的属性和功能,描述过程中类体来实现。{ }里面的内容称之为类体的内容。

 

变量

1.    成员变量和局部变量:类体分为两部分,变量的声明和方法的定义。在变量声明部分声明的变量被称为类的成员变量,在该类中有效。在方法体中声明的变量和方法的参数称为成员局部变量,仅在该方法体中有效。

public class Phone(){

       int id;            //成员变量,在类中有效。

       void call(){

       int number;           //局部变量,在call方法体中有效。

}

}

2.    实例变量和类变量:成员变量又分为实例变量和类变量。在声明成员变量时,用关键字static给予修饰的变量称之为类变量,否则称之为实例变量。实例变量在通过创建对象时才会分配内存,而类变量在该类被加载到内存时,就分配了相应的内存空间。实例变量创建对象的时候会为他在对内存中开辟一个空间来存储,而且为他的属性赋予相对的默认值,每个创建的对象的内存都不相同。而类变量无论创建多少个对象类变量分配的地址都处于同一个内存,改变某个对象的一个类变量都会影响其他的对象,也就是说,对象共享类变量。

     int i;              //实例变量

        static i;           //类变量

3.    成员变量的隐藏:如果成员变量与某个方法里的局部变量的名字相同,则会按照就近原则,该方法隐藏成员变量,在该方法里面成员变量会暂时失效。如果在该类中使用被隐藏的成员变量,则需要使用this关键字。

class Tom(){

        int x;

        void f(int x){

               intx=100;       //该x是属于该方法局部变量。

               this.x=100;     //只能用this关键字来说明这是属于当前类的属性。

}

}

 

方法

一个类的类体由两个部分组成,即变量的声明和方法的定义。

1.    方法声明:最基本的的方法声明包括方法名和方法返回类型组成。

float area(){      //float为返回类型,area为方法名

 

}

返回类型:方法的返回类型可以是任意的java基本数据类型包括String,当一个方法不需要返回类型必须是void。

2.    方法参数:方法的参数也叫形式参数,只在该方法内有效,用于接收对象传过来的实际参数,创建对象会存放在栈内存,使用后会被java的垃圾回收机制销毁。

void test(int I,int b){          //形式参数,只在该方法有效,可以是任意基本数据类//型,和对象,定义多个参数用  ,  分隔。

         system.out.print(i);

}

3.    方法的重载:

3.1  java中存在两种状态,即重载(overload)和重写(override),重写是和继承有关的多态。

3.2  方法的重载是多态性的一种,所谓多态性是指可以向功能传递不同的消息,以便让对象根据相应的消息来产生相应的行为。对象的功能通过类中的方法来体现,那么功能的多态性就是方法重载。方法重载的意思是,一个类中可以由多个方法具有相同的名字,但这些方法的参数必须不同,或者是参数的类型不同。

class Area{

   float count(floatx, float a){          //count方法

       returnx+a;

}

   double count(doublex, double a){     //count方法的重载,方法名一样,参数//类型不一样

       returnx+a;

}

 

}

4.    构造方法:构造方法是一种特殊的方法,他的名字必须与它所在的类完全相同,而且没有参数类型,构造方法也可以重载。没有手动创建构造的时候,java会默认提供一个空的无参构造器。

5.    类方法和实例方法:没有用static定义的方法都为实例方法。实例变量不能再类方法里面使用。因为static比其实例变量先加载。

class Test(){

         static intx=0;

         int y = 0;

        

         static voidprint(){

                System.out.print(x);       //合法

                System.out.print(y);      //非法,类方法不能调用实例属性。

}

}

6.    toString():toString是Obeject的方法,因为所有类都默认继承Obeject类,所以类也具有该方法,默认隐藏和自动调用。手动编写属于重写toString()。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值