JAVA笔记-01

1.多态//父类的引用可以用子类的对象


2.抽象类可以防止类被初始化


3.抽象类除了被继承过之外,是没有用途、没有值、没有目的的


4.if (classobject instanceof classname)//检查类型


5.如果不想让某个类被初始化,就以abstract这个关键词将它标记为抽象的


6.抽象类可以带有抽象和非抽象的方法


7.如果类带有抽象的方法,则此类必定标识为抽象的类


8.抽象的方法没有内容,它的声明是以分号结束的


9.抽象的方法必须在具体的类中运行


10.JAVA所有的类都是Object直接或间接的子类


11.方法可以声明Object的参数或返回参数类型


12.不管实际上所引用的对象是什么类型,只有在引用变量的类型就是带有某方法的类型时才能调用该方法


13.Obeject引用的变量在没有类型转换的情况下不能赋值给其它的类型,若堆上的对象类型与所要转换的类型不兼容,则此转换会在执行期产生异常。


14.类型转换的例子:Dog d =(Dog) x.getObejct(aDog);


15.从ArrayList<Object>取出的对象只能被Object引用,不然就要用类型转换来改变


16.Java不允许多重继承,因为那样会有致命方块的问题。


17.接口就好像是100%纯天然抽象类


18.以interface这个关键词取代class来声明接口


19.实现接口时要使用implements这个关键词//例如: Dog implements pet

20.class可以实现多接口


21.实现某接口的类必须实现它所有的方法,因为这些方法都是public与abstract的


22.要从子类调用父类的方法可以用super这个关键词来引用//例如:super.xx();

23.父类的构造优先于子类的构造

24.局部变量只有在声明它的方法内是使用

25.静态方法无法使用非静态变量


26.静态方法也无法使用非静态方法

27.final的变量代表你不能改变它的值


28.final的method代表你不能覆盖掉该method


29.final的类代表你不能继承该类

30.静态的方法可以直接调用不要在堆上实例化


31.final staic//常量声明需要在声明的时候初始化


32.a[count++],先取值后++


33.final int i = j,i的值可以随j的值变化而变化,对象不能变但对象的内容是可以变的


34.List<List<type>> list =Lists.partition(list_value, size);


35.JAVA深复制(深克隆)可以使用序列化实现

	public static <T> List<T> deepCopy(List<T> beanList) throws IOException, ClassNotFoundException {
		ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
		ObjectOutputStream out = new ObjectOutputStream(byteOut);
		out.writeObject(beanList);

                 ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
		ObjectInputStream in = new ObjectInputStream(byteIn);
		@SuppressWarnings("unchecked")
		List<T> dest = (List<T>) in.readObject();
		return dest;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值