JAVA笔记

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、静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块。 顺序: 静态代码块--》非静态代码块--》类构造方法。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山西茄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值