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
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
