Java类与对象

在Java中,声明类就是声明一个引用类型。

Java中的类:

一个简单的创建:

public class People{
  
  //属性(变量)

  String name;     //默认public访问类型
  int  static  age;   
  int  heigth;

  //行为(方法)

  void drinking(){     //无static
  }
 
  void eat(){
  }
 
  void sleeping(){
  }
}

可以把一个类看作一个人,他有姓名、年龄的基本类型,同时也有吃、喝等动作(成员方法)

一个类中可以包含:

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

小结:

实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

Java 中静态变量和实例变量区别:

  静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

 实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

每声明一个类,就会有一个class对象,每个类只有一个class对象。

(类在堆里的字节数:对象头(8个字节)+基本数据类型的字节总数(实例变量)+内存填充(总和为8的倍数);          //方法不影响,不在堆上存放。)

一个类只有一个构造方法。

若this调用构造方法:必须位于代码首行。   

             普通方法不能调用构造方法。

             构造方法中实际上用了this的引用。

Static修饰的方法只能访问静态变量。

Static不能修饰局部变量。

对象的创建:

//第一种方式
People p1=new  People();

//第二种方式
People p2;
p2=new People();

分析里面四个动作:

1)右边的“new People”,是以People”类为模板,在堆空间里创建一个People类对象。

2)末尾的()意味着,在对象创建后,立即调用People类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。           //如果自己写了,则调用的是自己写的构造函数。

3)左边的“People  p1 ”创建了一个People类引用变量。所谓People类引用,就是以后可以用来指向People对象的对象引用。

4)“=”操作符使对象引用指向刚创建的那个People对象。

 

如图分析可知:

//只是对象引用的拷贝
  // p1的指向为 0X456
 p1=p2;   

我们可以获得以下结论:

(1)一个对象引用可以指向0个或1个对象;

(2)一个对象可以有N个引用指向它。

访问权限:

                 同包子类    同包非子类      不同包子类     不同包非子类   

    public       ∨                ∨                          ∨                      ∨  

    protect      ∨                ∨                          ∨                     ×      

   private        ×                 ×                          ×                      ×

在前面都不加时,默认包访问权限 (src包) ,就算继承也不行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值