Java基础学习记录

<mark>学习笔记,如果有错希望尽快指正,不胜感激。</mark>
1、outer用法

跳出指定循环


outer:for(int i = 0; i <=5; i++){
		for(int j = 0; j <=i; j++){
			if(i>=3)	
				break outer;
		}
	}

2、Object[]什么意思?

”Object[]“是定义了一个一维的对象,这个Object是任何对象的父类,也就是说可以转换成任何的类型。举例:

Object[]  object  = new Object[3];
Object  [0] = new String("12312");
Object  [1] = new String[] { "String1", "String2" };
Object  [2] = new Date();

解释:也就是说Object类型之后可以给任意类型的值或者对象赋值给当前的Object 对象,而不需要强制类型转换,方便操作。

3、Object类

默认为所有类的父类,实际开发可对相应方法改写,仅作了解。

bool equals(Object obj)//判断某个对象是否与此对象相等
final Class<?> getClass()//返回Object的运行时类
int hashCode()//返回该对象的哈希码值--位置
String toString()//返回该对象的字符串表示
void finalize()//垃圾回收器调用此方法来清理唯有被任意引用的对象资源

哈希值----百度百科,看不大懂QAQ
一般的线性表,树中,记录在结构中的相对位置是随机的,
即和记录的关键字之间不存在确定的关系,因此,在结构中
查找记录时需进行一系列和关键字的比较。这一类查找方法
建立在“比较“的基础上,查找的效率依赖于查找过程中所进
行的比较次数。 理想的情况是能直接找到需要的记录,因此
必须在记录的存储位置和它的关键字之间建立一个确定的对
应关系f,使每个关键字和结构中一个唯一的存储位置相对应。

4、final关键字

final修饰的类不能被继承
final修饰的方法不能被重写
final修饰的变量是常量,只能赋值一次,且成员变量需要在定义变量的同时赋值

final int num = 1;
final class A{}
public final void getName(){}

5、抽象类 abstract

抽象类中不一定有抽象方法,但抽象方法一定放在抽象类中。

// 与C++类似。
[修饰符] abstract class 类名{
   [修饰符] abstract 返回值类型 方法名([参数列表]){}
}

6、接口 interface

接口:在接口中定义常量可以省略public static final,定义抽象方法也可以省略public abstract.
1、抽象方法
2、默认方法(default)
3、静态方法(static)
4、常量

//可以继承 [修饰符] interface 接口名 [extends 父类接口1,2,...]{}
interface Animal{//定义Animal接口
   int Id = 1;//全局常量
   void funct1();//抽象方法--只能通过实现类调用
   default void funct2(){}//默认方法--省略public--同上
   static int  getId(){//静态方法--省略public--可以通过‘接口名.方法名’调用
   	return this.Id;
   }
}
//接口实现 [修饰符] class 类名 [extends 父类名] [implements 接口1,2,....]{}
class Dog implements Animal{//实现类必须实现接口所有抽象方法
   public void func2(){
   	System.out.println("实现")
   }
}
//先继承再实现
class A extends B implememts C{
   	。。。
} 

百度知道
问:java中,一个类实现了某个接口,什么意思?实现它,可以干什么?

答:接口,你可以理解为一种规范,某个类实现了某个接口,就必须去实现该接口的所有方法,实现的方法你用来干嘛,他不管,你想干嘛就干嘛,只要你实现了就好。
也可以这么说,实现了接口的类,必定有接口中的方法,哪怕是空实现。
再深入一点,你可以再去了解一下接口回调,这块有比较多接口的应用。

问:实现一个方法,就是调用这个方法的意思吗?

答:当然不是,我的意思是,接口告诉你要做什么事,你的类实现方法的是意思就是,去一步一步去做这件事。比如:接口中有方法doSomething(),注意接口中这个方法是什么都不干的,你的类实现了这个接口,也必须去实现doSomething(){}这个方法,然后在这个方法体内写代码,达到你的业务需求