六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

java基础知识复习

[复制链接]

升级  11.33%

17

主题

17

主题

17

主题

秀才

Rank: 2

积分
67
 楼主| 发表于 2013-2-3 14:15:55 | 显示全部楼层 |阅读模式
一、1.非基本数据类型数据中定义基本数据类型,该基本数据类型会进行默认初始化2.基本数据类型参数是值的传递,非基本数据类型参数传递的是指针或引用3.参数数组传递的是引用4.main(String[] args),主函数调用时,可直接传递参数,例:d:\>java Test Red Green Blue 5.函数:是为了实现某一特定功能而封装起来的一些语句,具有很强的复用性。6.定义数据long型数据定义: long l=123L;float型数据定义: float f=1.23f;二、1.八进制:0开头2.十六进制:0x开头3.数据类型|-基本数据类型|-数据型|-整数类型(byte, short, int ,long)|-浮点类型(float, double)|-字符型(char)|-布尔型(boolean)|-引用数据类型|-类(class)|-接口(interface)|-数组([])注:1.整数默认 int (char 加'', short 直接定义, long 加l)2.小数默认 double (float 加f)3.shortshort s = 1;s += 1;// 正确s = s + 1;// 错误三、面向对象1.局部变量和成员变量(1)局部变量存在于栈内存(2)成员变量存在于堆内存2.参数的传递(1)基本数据类型传递的是指(2)引用数据类型传递的引用3.对象特征(1)封装(2)继承(3)多态4.对象属性初始化步骤(1)默认初始化(基本数据类型有默认值,引用数据类型为null)(2)显示初始化(字段的直接赋值值)(3)构造函数初始化5.构造代码块(直接使用{}封装的代码)作用:可用于所有对象初始化,且先于构造函数6.main(){person p = new Person();}描述对象p创建的过程中内存中进行了哪些操作。(1)先将硬盘上的.class文件加载进内存(2)main方法进栈(压栈),在栈区创建一个变量p(3)堆内存开辟一个实体空间,分配了一个内存首地址(4)对该实体空间进行属性的空间分配,并进行默认初始化(5)对空间中的属性进行显示初始化(6)进行对实体的构造代码初始化(7)调用该实体对应的构造函数,进行构造函数初始化(8)将首地址赋值给p,p变量就引用了该实体,指向了该对象。7.static(1)实现对对象中的共性数据的共享(2)可直接类名调用(3)静态数据会随着类的加载而加载,且优先于对象的存在(4)静态方法只能访问静态成员(5)静态方法中不能使用 this,super 关键字(6)主函数是静态的8.方法区(数据共享区)存储对象的方法和静态变量9.静态代码块随着类的加载而执行,且只执行一次,用于类初始化。10.单例设计模式(1)饿汉式public class Single{// 2.创建唯一对象private static Single s = new Single();// 1.私有构造函数,防止创建对象private Single(){}// 3.提供公有的访问方式public static Single getInstance(){return s;}}(2)懒汉式(延迟加载方式)public class Single{private static Single s = null;private Single(){}public static Single getInstance(){if(s == null)s = new Single();return s;}}11.this()和super()两者必须定义在第一行,且二者不可同时出现。12.抽象关键字 abstract 不与 final private static 关键字共存13.接口1.接口中成员有固定修饰符成员变量默认 public static final 修饰成员函数默认 public abstract 修饰2.接口之间可多继承14.关键字 instanceof判断对象是否属于某类型,例:if(a instanceof AA){// todo}15.多态在子类中的成员上的体现1.成员变量编译、运行都直接访问父类中成员变量2.成员函数编译时看父类,运行时调用子类方法3.静态函数编译、运行都看父类16.内存五片区域栈、堆、方法区、寄存器、本地方法区17.对象直接的比较复写equals()public boolean equals(Object obj){if(!(obj instanceof Person)) // 如果参数不是人对象,直接返回falsereturn false;Person p = (Person)obj;return this.age == p.age; // 通过年龄比较}18.class对象--字节码文件19.内部类1.A类访问B雷中成员,B类需要建立A类对象。可以通过建立将A定义为B的内部类。2.非静态内部类不可用定义静态方法。3.内部类都持有一个外部类的引用--外部类名.this4.内部类名--外部类名$内部类20.局部内部类1.--方法中的内部类2.从内部类中访问局部变量,该局部变量必须定义为最终类型(final修饰)
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表