java基础笔记(二)

4、类与对象

4.1、对象的创建和使用

  4.1.1、构造方法

Ø        构造方法的名称必须和类名相同

Ø        必须是void型的

Ø        创建类的时候会有默认的构造方法,若需要在构造方法中添加特定的功能需要显示的给出构造方法

Ø        构造方法的功能就是为类的对象分配内存,所以没有显示的构造方法

Ø        可以定义不止一个构造方法,但不同的方法必须有不同的参数,以实现构造方法的重载。

   4.1.2、对象的创建(声明之后必须用new来创建才可以引用

         Hello  abc;

         Abc=new hello();

         hello abc=new hello()

Ø        此时创建了对象abc,返回了引用abc,通过对它的引用可以访问该对象,abc称为一个引用变量。

Ø        Abc就是该对象的内存地址,对abc的引用相当于对这个地址的访问,这种对内存地址的访问,相当于c语言中指针的功能。

4.2、类的成员

  4.2.1、成员变量和局部变量

Ø        成员变量是类体中的变量;局部变量是方法中的变量。

Ø        成员变量在整个类中都有效;局部变量只在方法中有效。

 4.2.2、成员变量分为:类变量和实例变量

Ø        类变量有关键字static修饰,表示变量的内存单元在程序运行过程中都不会被其他的变量占用(修改也只是所有的类的成员共用一个地址)

Ø        实例变量没有static 修饰,其内存单元在被定义的类以外即可被其他变量占用。

 4.2.3、类方法和实例方法

Ø        有关键字static 修饰的是类方法,没有的是实例方法。

Ø        类方法只能操作类变量,而实例变量既能操作类变量,也可以操作实例变量。

Ø        实例方法只能通过对象进行调用,类方法既可以通过对象调用也可以通过类名调用。

  Static变量和方法都属于某个类,而不属于某个对象,因此作为java程序的入口函数main函数必须是是static,这样在执行的时候java 类名,否则必须先要创建对象再来应用入口函数这样程序无法解释了.

4.2.4this关键字

Ø        表示的是当前对象;

Ø        当前对象就是指正在操作的对象。

Ø        this变量代表对象本身

Ø        当类中有两个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。

Ø        使用this简化构造函数的调用。

Ø        关于实例方法和实例数据成员的进一步说明

  一个类所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员在类的每个对象所在内存中都存在着一份拷贝。this变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。

Ø         

4.3、继承

Ø        一个类可以通过extends继承另一个类

Ø        子类具有父类所有非私有的成员

Ø        子类在继承父类成员的同时还可以创建自己的对象

Ø        特殊变量super,提供了对父类的访问。

Ø        可以使用super访问父类被子类隐藏的变量或覆盖的方法。

Ø        每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

 

 

4.4、访问权限

4..4.1类的说明符

Ø      同一个源文件命名的类都属于一个包(package,缺省的类只能在同一个包中被访问,要用到其它包中的类,必须先import(或者将要用到类的类名完整的写出),且是public

Ø      Final类是指是终点,没有子类。不能被继承。(主要是用在某些标准类不需要其它的修改,便声明为final类)

Ø      Abstract修饰的类,是指不能创建对象,但可以继承,继承的类可以创建对象。

4.4.2、方法的说明符

Ø        Public 的方法和变量可以被其它的类访问。

Ø        Private 的方法和变量是私有的,不能在其它的类中访问私有的变量和方法private方法只能在该类中被访问,同一个包中都不行。

Ø        私有的只能被类中的成员函数访问,不能在类外通过类的对象访问

Ø        没有任何的修饰符,默认的是友好的变量和方法,只有同一个包的类才能访问友好的变量和方法,不同包的子父类都不行。

Ø        类的成员对类的可见性和对类的对象的可见性不同,前者可以访问没有限制,而后者视成员的访问属性制约。

 

public

protect

default

private

同类

同包

分享到:
评论
chendang1314
  • 浏览: 59163 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

你可能感兴趣的:(java)