java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

字节码 是Java 编译之后的 的代码 是为了让JVM执行的 jar可以分为 可执行的 和不可执行的

java -jar Test 可以直接运行可执行的 jar包 那些不可执行的 你看的最多的 就是 像JRE这样的依赖包

类之间关系

使用,聚合,继承

class A

{}

class B extends A//继承 是的关系

{

A a;//聚合 有的关系

void a()

{

1    A a=new A();//使用 用的关系
}

}

class Student extends Human

{

}

Human h=new Student(); //引用变量(类型是Human类型) 访问对象唯一手段是引用

派生类继承父类所有属性

public 没有任何限制

private 局限类的内部

protected 同包和继承者课访问

包权限 同包内可访问

解决命名冲突?1. 延长命名

2.分成几部分局部范围内

无名包 不用导入

一个源文件public 类只能有一个 源文件名字与类名相同

一个类的父类只能有一个

protected 受保护的成员,只能通过子类实例访问,不能通过父类实例来访问

final 等同于c++中constant

final int i=0;

对象常量一般小写,简单数据类型是大写

final 类不能被继承(断子绝孙)

重载,函数名相同,参数(类型,数量)不同

覆盖,子类中出现与父类相同的函数(函数名和函数参数相同)

构造函数1.

2.一个类的构造函数里可以调用super(…)来实现父类构造函数

class Point()

{

int x,y;

{}//初始化代码

static

{}//静态初始化代码,当类被加载时被执行

Point(int x,int y){

this.x=x;

this.y=y;

}

Point(int x)

{

this.(x,0);

}

Point()

{

this.(0,0);

}

}

初始化顺序:

父类初始化 初始化变量 初始化代码 构造函数

class A

{

public A()

{

System.out.println(“p”)

this.init();

}

public void init()

{

System.out.println(“q”);

}

}

class B extends A

{

int i=4;

B(int i)

{

System.out.println(“s”);

this.i=i;

}

public void init()

{

System.out.println(i)

}

public static void mian(String[] args)

{

B b=new B(5);

}

}

p 0 s

一个类调用本类函数特别危险,因为父类函数有可能被覆盖

对象引用放在堆栈但对象是放在堆中

基本类型直接存储值在堆栈中

boolean数值类型所占存储空间大小没有明确指定

BigInteger支持任意精度的整数

BigDecimal支持任何精度的定点数

c和c++的数组就是内存块 如果一个程序要访问自身内存块之外的数组,或在数组初始化前使用,后果难以预料

java确保数组就会被初始化,而且不能在它的范围外被访问

作用域决定了在其内存内定义的变量名的可见性和生命周期

c和c++中将一个较大作用域的变量隐藏的做法,在java中不允许

java垃圾回收器用来监视new创建的所有对象

如果字段是某个对象的引用,必须初始化该引用

基本成员如果没初始化默认赋值

java

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。