Java study notes (14)-Anonymous inner class, Lambda, package

Anonymous inner class

实现接口/继承类,用于重写构造方法,方法参数是接口类型/抽象类类型,只能传入实现类对象,子类对象。
只使用一次。
public static void main(String[] args) {
    
    
  Cola c = new Cola() {
    
    //匿名内部类重写接口方法
   public int sum(int x,int y) {
    
    //匿名内部类的对象只能用一次
    return x+y;
   }
  };
 }
}
interface Cola{
    
    
 
 //求和
 public int sum(int x,int y);
}

Lambda

用于实现抽象方法的重写。
体现语言的优美,重写的时候没有方法名,接口里面只能有一个抽象方法时才能使用lambda方法。这是前提!!!
Cola cc = (int x,int y)->{return x+y;};//Lambda表达式,JDK1.8实现
//接口/抽象类对象 = (参数列表)->{抽象方法进行重写的方法体};
注意:
	1.可以不写类型,从前往后推导时,在接口中已经判断了
		Cola cc = ( x,y)->{return x+y;};
	2.当重写的方法只有一句方法体时,大括号和return也可以省略
		Cola cc = ( x,y)-> x+y;
	3.重写的参数列表的方法名称不能和前面接口中或声明的时候声明的名称一样。
	4.::表示传递静态方法  	ArraySort a = Arrays::sort;
	5.@FunctionalInterface 注解,函数式接口,只有一个抽象方法。

package

关键字:package		—— 声明包,声明类所在的具体的文件夹的位置,在代码首行。只能出现一个。
关键字:import		—— 引用包,使用的类和当前类不在同一个包下,可以出现多次。
	.*——表示当前包下所有类
	
标识名格式:com.tedu.hst(全字母小写,单词之间用英文点隔开,域名的倒写方式)
不同的包进行引用时用关键字 import 引入。
本质区别重名类。
package com.hst._20201213;//本包
import java.applet.*;//引用包
Java——Java的源生包
	lang包——程序启动时加载所有的信息到方法区。使用时不用再导包。
	  util包——工具包,提供了操作对象和类的功能。
	  awt/applet——进行图形化界面的包。
	  beans——框架可以帮助我们完成创建对象的过程。
	  io——数据传输的包,需要数据传输的时候通过该包进行传导。
	  math——提供简单的数学运算的包。
	  net——网络包,进行网络传输的包。
	  nio——高并发包。
	  security——搞安全的包。
	  SQL——操作数据库的包。
	  text——格式化的包。
	  time——代表时间和日期的包。
	  

javax——Java的扩展包

org——Java的第三方厂商提供的包

Guess you like

Origin blog.csdn.net/qq_42351519/article/details/111275149