最近在准备面试和笔试,就把Java的基础知识总结一下
1. JVM: Java 虚拟机 读取字节码文件(.class)
2. 封装:将数据和处理数据的过程与函数组合成对象。防止对该对象的数据进行不适当的访问。(修饰符,public变量将破坏类的封装性)
3. 继承:对象的再利用(参考书Java程序设计教程-第七版的例子)UML类图中,空心箭头表示继承关系,箭头指向为子类到父类。
父类Book类,所有书都有页数,所以在父类中进行声明。
注意:父类的构造函数不属于类的成员,所以子类不能继承父类的构造函数,只能调用父类的构造函数
public class Book
{
protected int pages;
public Book(int numPages)
{
pages=numPages;
}
public void setPages(int numPages)
{
pages =numPages;
}
public int getPages()
{
return pages;
}
}
派生类子类Dictionary类,词汇是Dictionary类的定义,具有protected属性的变量,子类可以进行引用。super()调用父类的构造方法
public class Dictionary extends Book{
private int definitions;
public Dictionary(int numPages,int numDefinitions){
super(numPages);
definitions=numDefinitions;
}
public double computeRatio()
{
return definitions/pages;
}
public void setDefinitions(int numDefinitions)
{
definitions=numDefinitions;
}
public int getDefinitions()
{
return definitions;
}
}
建立一个子类对象
<pre name="code" class="java">public class Words {
public static void main (String[] args)
{
Dictionary webster= new Dictionary(1500,52500);
System.out.println("Number of pages: "+webster.getPages());
System.out.println("Number of definitions: "+webster.getDefinitions());
System.out.println("Definitions per page: " +webster.computeRatio());
}
}
运行结果:
Number of pages: 1500
Number of definitions: 52500
Definitions per page: 35.0
4.接口:引用数据类型,实现接口在UML图中使用空心三角形和虚线表示。一般声明常量和抽象方法
public interface IArea{
final double PI=3.14159265758;
void area();
}
调用接口为IArea.PI。
实现接口
public class Circle implements IArea{
public void area()
{
int r=1;
System.out.println("圆面积: "+PI*r*r);
}
}
5. 导入包的方法:使用package和import两种方式导入包和类