Java之三:面向对象(上)

上一篇 / 下一篇  2010-05-11 22:24:14 / 个人分类:Java

一.类与对象

1.      类,对象概念

2.      匿名对象

 New person().shout()

 两种情况下使用(1)只需要进行一次方法调用;(2)匿名对象作为实参传递给函数

E.g. public static void getSomeone(Person P){

……

}

可以使用此调用:getSomeone(new person());

3.      类的封装性

目的:(1)隐藏类的实现细节;

2)使用者只能通过实现约定的方法访问数据,限制不合理操作

3)增强代码维护性

4)可进行数据检查

总之:不让外边的对象直接调用类的成员(属性),不能修改该对象成员(属性)。而只能通过public的方法来进行调用修改。

 

方法:在类中的成员(属性),定义为private

 

4.      构造函数

与类有相同的名称;没有返回值

Public方法名{

}

在调用初始化该类的时候,会直接调用初始化该类。

构造方法重载,与函数重载类似

5.      This引用句柄

一般在该类中调用本类的属性,方法都不用this,但实际上已经默认。

有些情况还是需要要this句柄的。

(1)      形参与内部变量相同;

(2)      容器类的方法要创建不见类的实例对象,而部件类的构造方法要接收一个代表其所在容器的参数

(3)      This重构

Public class person{

 String name;

 Int age;

 Public person(String name){

 This.name=name;

}

 Public person(String name, int age){

  This(name);

  This.age=age

}

}

 

6.      垃圾回收方法

 Finalize  对象已经变成垃圾,启动垃圾回收器时自动调用。但是我们可以在public void finalize(){添加操作}

System.gc 强制启动垃圾回收方法,调用finalize方法

 

二.参数

1.基础类型的参数传递

2.引用数据类型的参数传递

三.Static关键字

1.      静态变量(可用于计算创建或者释放了多少个对象);也叫类属性(static attribute

Class A{

 Private static int count=0;

 Public A{   //构造器

  Count=count+1;

}

 Public void finalize(){ //释放对象

   Count=count-1;

}

}

2.      静态方法,也称类方法(class methods

1)类(类不存在是否静态)的静态方法里只能直接调用同类中其他的静态成员(静态变量和方法),不能直接访问类的非静态成员。非静态的变量和方法使用前需先创建对象

 2)静态方法不能以任何形式引用thissuper(只有创建对象了才可以用)

3.      静态代码块(Static block

 一个类中可以使用不包含在任何方法中的静态代码块,当类被载入时,静态代码块被执行,且只执行一次。(即使多次创建该对象,也只执行一次)

4.      单态模式(这里只是简单介绍,设置模式不适合在这里学,只是用来介绍static的用法)

最直接的目的就是在JVM只创建一个对象,减轻压力。

Public class Testsingle(){

 Private static final Testsingle nlyone=new Testsingle();

 Public static Testsingle gettestsingle(){ //返回Testsingle的对象

 Return onlyone;

}

 Private Testsingle(){

//实际上没有内容

}

}

方法前void class test(){} //void前有无public类似

 

四.内部类

内部类仅限于在类的内部使用。如B有一个内部类AA是不为B外部知道的,只能被B调用。

如果内部类是public的,外面也可以引用创建,创建方法:

Outer.Inner innerobject=Outer.new Inner();

 

关于内部类的关键字publicprivateprotectedfriend参看另外一日志


TAG:

 

评分:0

我来说两句

Open Toolbar