java知识汇总

文章目录

Java基础知识

基本类型

类别及其对应包装类

1. byte—Byte
2. char—Character
3. short—Short
4. int—Integer
5. long—Long
6. float—Float
7. double—Double
8. boolean—Boolean

装箱及拆箱

缘由
变化
JDK1.5以前
public class WrapperClass {
   
	public static void main(String[] args) {
   
		//构造器方法定义Integer包装类a,并赋值
		Integer a=new Integer("5");
		System.out.println(a);
		
		//构造器方法定义Double包装类b,并赋值
		Double b=new Double("5.5");
		System.out.println(b);
		
		//通过包装类.xxxValue()方法,从包装类对象中获取基本类变量
		int c=a.intValue();
		System.out.println(c);
		
		double d=b.doubleValue();
		System.out.println(d);
	}
}

JDK1.5以后

数组的定义

一维数组

多维数组


关键字

final
static
finally

finally中的return会覆盖前面的return

面向对象

抽象类

含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class

类中定义抽象方法必须在具体

(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型。

接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final。

下面比较一下两者的语法区别:

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

  1. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然

eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

  1. 抽象类中可以包含静态方法,接口中不能包含静态方法

  2. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

类变量与类函数
实例变量实例函数
继承
  • 初始化顺序:

  • 
    
  1. 父类静态块与静态函数

    1. 子类静态块与静态函数
    2. 父类构造函数
    3. 子类构造函数
    
    
    **注意**:静态块只执行一次,按顺序执行
    
    在Java里,只有值传递,因为引用本身就是一个地址值,我们说的”传递引用“本质上也是“值传递”,只不过传递的是地址值。
    
    在方法中,改变一个对象参数的引用不会影响到原始引用。这是很自然的。
    
    举个例子,假设在函数外有 A a = new A();那么引用a指向堆中的一个对象A()。
    
多态
向上转型

把子类对象当做父类对象来用

class Father{
   }
class Son extends(Father){
   }
Father f1 = new Son();// f1的内存空间实际上仍然是Son的内存空间,但引用是Father,相当于把Son当Father用

向下转型

是向上转型的还原

Son s1 = (Son) f1; //此处将f1重新交给son对象引用,原因是因为f1的内存结构就是son的内存结构
权限关系
public protected default private
同一类
同包
不同包子类
不同包非子类

一些工具类

String,StringBuilder,StringBuffer
  1. String 不可变,String直接赋值时从常量池中寻找,用new时产生两个对象,一个对象指向常量池,另一个对象指向此对象
集合类

语法

关于循环的优化

  1. 强度削弱
  2. 删除归纳变量
  3. 代码外提

判断

switch(x)//  required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
{
   
default:
System.out.println("Hello");
}

Java高级知识

流与文件


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值