java的第一章节

java基础:
一次编译,到处执行。
特性:
一个纯的面向对象的程序设计语言。
java语言是分布式的,健壮的,安全的,体系结构中立,可移植性,解释型,支持多线程,动态,
开发环境配置,
开发工具,
面向对象的特征:封装,继承,抽象,多态性,
数据类型:byte,boolean,short,int,double,long,char,float–基本
类,接口,数组,枚举,注解。
注释
标识符:字母,数字,下划线,$开头,大小写敏感,不得使用关键字和保留字。
转义字符:\b,\f,\n,\r,\’,\”,\t,\.
内存空间的分配和回收:
栈:存放简单和引用数据的变量。
堆:存放引用数据类型的实例,
java.lang.System.gc();//建议系统回收内存,但不一定回应。内存够用,不予理睬。
变量;
局部变量:
实例变量:
静态变量:
包,导入语句
数组:
推荐:
Int[] D=Nnew Int[2];切记一定要指定长度。
类与对象:
属性,构造器,方法。
序列化:
Serializable对象,必须要。
用到了IO流知识
public class Cat implements Serializable{
private String name;
public Cat() {
this.name=”new Cat”;
};
public String getName() {
return name;
};
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
Cat cat=new Cat();
try {
FileOutputStream fos=new FileOutputStream(“ct.out”);
ObjectOutputStream oos=new ObjectOutputStream(fos);
cat.setName(“faf”);
oos.writeObject(cat);
oos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileInputStream fis;
try {
fis = new FileInputStream(“ct.out”);
ObjectInputStream ois=new ObjectInputStream(fis);
cat=(Cat)ois.readObject();
System.out.println(cat.getName());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static:修饰属性,方法,内部类,代码块。
代码顺序,静态区域优先。
final:不允许改变,可以修饰变量,方法,类。变量变常量,方法不能被覆盖,不能被继承,
访问权限:public,private,protected,
abstract:修饰方法,类
interface:特殊的抽象类,所有的都要继承,属性是静态的,公开的,方法都是都是公开的,抽象的。
包装类,拆箱,装箱。自动和手动,手动写代码,自动类似与强制转换。
object类浅析:
equals,hashCode,toString
String,StringBuffer,StringBuilder,
eg:
String s1=”abc“;//新创建,字符串常量中没有该字符串,所以会在池子里创建一个字符串”abc”;
String s2=”abc”;/法相池子里有,无需创建,指向已经有的abc就行。
String s3=new String(“abc”);//这个在堆里需要去开辟新的空间,不会去池子里找。
StringBuffer:允许并发操作,是线程安全的。
StringBuilder:不允许并发操作,线程不安全的。
内部类:成员内部类,局部内部类,静态内部类,匿名内部类。
Class.forName(),Cat.class,new Cat().getClass();都是一样的。
1:Class cl=A.class;
JVM将使用类A的类装载器, 将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象。
2:Class cl=对象引用o.getClass();
返回引用o运行时真正所指的对象(因为:子对象的引用可能会赋给父对象的引用变量中)所属的类的Class的对象 。
3:Class.forName(“类名”);
装入类A,并做类的初始化
ClassLoader;理解一下,这个不是纯java代码写的,进一步了解,可以了解下JVM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值