易截截图软件、单文件、免安装、纯绿色、仅160KB

Java中的内部类初学

1.定义: 顾名思义就是在类中定义的类,分为两类,static 的 和 non-static 的。内部类实际上是一个编译器的现象。编译器将内部类转化为带着一些奇怪名字的普通类文件,虚拟机并不区分一般类和内部类的类中的文件。 2.使用内部类的第一个好处——封装性和多继承 我们进行“第三种关系”分析: 继承结构中无外乎"is a" 和 "has a"两种关系。我们举一个Employee/Manager的is-a的例子: class Employee {
  private String name;
  private Date dateHire;
  .....
  .....
  public float getSalary() {
  }
  ...
} Class Manager extends Employee {
  private Employee[ ] subOrdinates;
  ....
  public Employee[ ] getSubOrdinates() {
    return subOrdinates;
  }
}  而另一种关系是has-a,class Company {
  private Employee[ ]  allEmployees;
  private  Manager[ ] allManagers;
  ....
  public Manager[ ] getAllManagers() {
     return allManagers();
  }
  public void printOrganizationTree() {
  }
}
然而还有第三种关系,虽不明显但是很常用,称作“平面关系”。我们举一个汽车的例子:一个汽车(类Automobile)可以有许多组件组成,比如引擎、传动系统、排气系统等等。当然其中还可能有一个部件——车载空调(auto AC)。这个auto AC可能从一个通用的类AirConditioner中得到,进行改造后适用于汽车。但是它不能独立存在,汽车必须与其有交互和控制。注意,这里Automobile这个类不可以去实现一个叫做AutoAC的接口,因为汽车不是一个空调,它也不应该有空调应该有的属性。车载空调的属性应该放在Automobile类中。这里我们使用内部类来描述和解决。 /** The general AirConditioner class */
class AirConditioner {
  ....
  public float getTemperatureMin() {
  }
  public float getTemperatureMax() {
  }
} /** The Automobile class which has an inner class which is an AC */
class Automobile {


相关文档:

java方法的重载与覆盖

java多态的2种表现形式 方法重载和方法覆盖
方法重载:同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载。
方法覆盖:子类重新实现了父类中的方法。
方法重载
/**
* 方法重载满足的条件
* 同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载
* 参数列表不同指参数的类型,参 ......

运用java, jCom 来 写excel文件(IDispatch)方法二

package sample1;
 
import java.io.File;
import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.JComException;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;
/**
 * 使用jCom实现写excel文件的另一种方式(IDispatch)
 * @author steve_wang_victor
&nbs ......

Java读取图片文件的宽度和高度

InputStream is = new FileInputStream(filename);//通过文件名称读取

InputStream is =new ByteArrayInputStream(byte[] a);//通过文件的字节数组读取
BufferedImage buff = ImageIO.read(is);
buff.getWidth(); //得到图片的宽度
buff.getHeight();  //得到图片的高度
is.close(); //关闭Stream ......

Java控制台输入密码,不回显

import java.io.*;
public class TestConsole{
public static void main(String[] args){
Console console;
char[] pwd;
if((console = System.console()) != null && (pwd = console.readPassword("[%s]", "Please Enter Password:")) != null){
System.out.println(String.valueOf(pwd));
}
......

使用java + oracle插入clob类型的数据

 使用java + oracle插入clob类型的数据,需要用以下的步骤:
1、将数据插入数据库,对于clob字段,使其为空clob数据。例如:insert into test values(1,empty_clob())";
2、从数据库中取出插入的clob字段,并将其赋值给oracle.sql.clob类型的变量。例如
String sqll="select content from test where id=1 for upda ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号