jre安装
JAVA_HOME C:\Program Files (x86)\Java
CLASSPATH .;%JAVA_HOME%\jre7\lib
Path add %JAVA_HOME%\jre7\bin
Myeclipse与eclipse的区别?
Myeclipse的核心就是eclipse,只不过Myeclipse在此基础上增加了许多的插件,使用起来更加的方便。但是Myeclipse消耗的资源很多,在使用的时候一定要做好优化工作。MyEclipse的实际价值来自包含的发布包中的大量的工具。如CCS/JS/HTML/XML的编辑器,帮助创建EJB和Struts项目的向导并产生项目的所有主要的组件如action/session bean/form等。还包含编辑Hibernate配置文件和执行SQL语句的工具。
jdk与jre的区别?
jdk和jre的区别就是一个用于开发,一个用于运行。
JAVA源文件由很多类组成,只有一个类中有main函数,applet中可以没有main函数。
类声明的完整格式为:
[类修饰符] class 新类名 [extends 超类名] [implement接口名],其中,"[]"的内容为可选项。
访问修饰符有:public,protected,private,类型修饰符有abstract(1类中含有abstract方法,2类的超类生命了abstract方法,在当前类中没有实现,3类implement的接口中声明或继承了一个方法,在类中或者没有继承,或者没有实现),static,final(定义是完整的,而且不可以有任何子类),strictfp(似的所有的float,double变大时都是显式的满足FP-strict,这意味着声明的所有方法和所有嵌套类型,都隐含地声明为strictfp,所谓FP-strict是只对float和double的表达式而言,表达式的所有中间值都必须是float,或double)。
在类的声明中,通过关键字extends来创建一个类的子类,I一个接口可以有多个父接口,用逗号隔开,而一个类只能有一个父类。
接口在语法上与类非常类似,但是没有实例变量或者实现的方法。
包
所有的文件都放在一个文件夹中,极其混乱。为了解决这个问题,JAVA提供包(PACKAGE)莱管理类名空间,我们可以把每一个包看成一个子目录。
导入整个包会存在两个弊端。
(1)导入整个包时,JVM会保存包中所有元素的名字,这必然会使用额外的存储空间来存储这些类和方法名。在基于JAVA的小型设备或使用J2ME的电子产品上,运行起来就会有问题,而且会使系统的性能有所降低。
(2)当导入不在本地计算机上的整个包时,浏览器不得不等到把包中所有的类文件均从网上下载下来之后,才能继续工作。如果下载了一个具有20个类的包,而只使用了其中个,那么会浪费大量的资源。
eclipse开发java
1 创建工程
"FILE"-》"New"->" Java Project", 输入工程名(比如Test)。
2 创建类
选中"Test"工程下的"Src",右键选"New",选"Class",输入类名(ts)。
3 写类
简单实现如下:
public class dain
{
public static void main(String arg[])
{
System.out.println("其实很简单。");
}
}
4 运行
在src目录上右键,“run as”>>"Java Application",在右下的面板会显示"其实很简单。"。
类的命名
如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中;
super的作用
super出现在继承了父类的子类中。有三种存在方式:
第一种
super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种
super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种
super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法。
静态代码块
package com.sample.client;
public class Test {
public int a;
static {
System.out.println("Test Static 静态语句块");
}
public Test() {
System.out.println("Test 默认无参构造器");
}
{
System.out.println("Test 非静态");
}
}
package com.sample.client;
public class Test1 extends Test {
public int i;
public double d;
static {
System.out.println("Test1 Static 静态语句块");
}
public Test1 () {
System.out.println("Test1 默认无参构造器");
}
{
System.out.println("Test1 非静态");
}
public static void main(String[] args) {
Test1 t = new Test1();
}
}
输出结果如下:
Test Static 静态语句块
Test1 Static 静态语句块
Test 非静态
Test 默认无参构造器
Test1 非静态
Test1 默认无参构造器
1、静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块。 顺序: 静态代码块--》非静态代码块--》类构造方法。