十二 java面向对象程序设计(类的继承)
十二 java面向对象程序设计(类的继承)
/**
* 类的继承
*/
class Person
{
private String name;
private int age;
public String setName(String name){this.name = name;return name;}
public int setAge(int age){this.age = age;return age;}
public void getInfo()
{
System.out.println("name = " + name + ", age = " + age);
}
}
/*
class Student //Student类重复定义了Person类的方法和成员变量
{
private String name;
private int age;
public String setName(String name){this.name = name;return name;}
public int setAge(int age){this.age = age;return age;}
public void getInfo()
{
System.out.println("name = " + name + ", age = " + age);
}
private String school;
public String setSchool(String school){this.school = school; return school;}
public void study()
{
System.out.println("study in " + school);
}
}
*/
/**
* 1,通过继承可以简化类的定义 。
*/
class Student extends Person //通过继承,这些重复的定义将被省略.
{
private String school;
public String setSchool(String school){this.school = school; return school;}
public void study()
{
System.out.println("study in " + school);
}
public static void main(String[] args)
{
Person p1 = new Person();
p1.setName("unknown");p1.setAge(0);
//p1.setSchool("unknown");错误,父类不能访问子类的成员.
p1.getInfo();
//p1.study();错误,父类不能访问子类的成员.
Person p2 = new Student();
p2.setName("mike");
p2.setAge(23);
((Student)p2).setSchool("Cambridge");
p2.getInfo();
((Student)p2).study();
//父类的对象可以向下转型.
Student s1 = new Student();
s1.setName("jackson");
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
一、准备工作
先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。这是一个开始于 1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献。
Jacob下载地址:http://sourceforge.net/project/showfiles.ph ......
package test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String arg[]) {
String fileName = "E:\\share\\test.txt";
String writeData = "HelloWorld!\r\nnihao我的 ......
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多 ......
转IBM的文章,比较详细。需要注意的是,
通过JavaCompiler进行编译都是在当前目录下生成.class文件,而使用编译选项可以改变这个默认目录。编译选项是一个元素为String类型的Iterable集合。如我们可以使用如下代码在D盘根目录下生成.class文件。
Iterable options = Arrays.asList("-d", "d:\\");
JavaCompiler. ......