Java笔试记录
1、数据输入
int rd = System.in.read(); char c = (char)rd; char[] buffer = new char[n]; try { System.in.read(buffer); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
import java.io.BufferedReader;
import java.io.InputStreamReader;
char[] buffer = new char[n]; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br.read(buffer); br.readLine();
import java.util.Scanner;
Scanner scan = new Scanner(System.in); if(scan.hasNextLine()) { String str = scan.nextLine(); } Scanner sc = new Scanner(System.in); if (sc.hasNext()) { String str = sc.next(); } if (sc.hasNextInt()) { int value = sc.nextInt(); }
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
2、数据输出
StringBuilder sb = new StringBuilder(); sb.append("this array is: "); sb.append('['); sb.append(1); sb.append(','); sb.append(3.14); sb.append(']'); System.out.println(sb.toString());
3、命名
number_1 ✅ number_2 ✅ $1234 ✅ _number ✅ 1_number ❌
4、java访问权限修饰词: public, protected, private
若不提供任何访问权限修饰词,则为包访问权限,表示当前包中所有其他类对那个成员都有访问权限,但包外的类无法访问;
类即不可以是private也不可能是protected;对于类的访问权限,仅有包访问权限和public;
public成员可以被所有其他类访问;
protected成员可以被子类访问,并提供包访问权限;若没有protected修饰,对于从另一个包继承的类,它唯一可以可以访问的是源包的public成员;
private成员只能被包含该成员的类访问。
5、内部类
闭包是一个记录了一些信息的可调用对象,这些信息来自于创建它的作用域。
内部类是面向对象的闭包,它不仅包含外围类对象的信息(它拥有其外围类的所有元素的访问权),还自动秘密捕获一个指向外围类对象的引用。
在拥有外部类对象之前,不可能创建内部类对象,因为没有外围类对象连接,但如果创建的是嵌套类,就不需要对外围类对象的引用。
内部类在访问外围类成员时,就是用那个引用来选择外围类的成员。
内部类可以由public, protected, private修饰,它和外部类的成员访问权限一致。
定义内部类的目的:
1)用内部类实现某类型的接口,然后在外围类中创建该内部类对象,就能用到该接口的实现。
2)想创建一个类来辅助解决一个复杂的问题,但不希望该类是公共可用的。
定义过程:
1、在方法中定义类 2、在作用域中定义类 3、定义一个实现了接口的匿名类 4、扩展了有非默认构造器的类 5、匿名类中执行字段初始化 6、匿名类通过实例初始化实现构造
内部类即使是在作用域中被定义,但它是和其它类一起被编译的,在作用域之外,该内部类就不可用了。
匿名内部类看起来似乎是你正要创建一个基类对象, 实际上指的是创建一个继承自基类的匿名类的对象,并且返回的引用被自动向上转型为对基类的引用。
匿名内部类没有构造器,它实际上调用了基类的构造器,即使在创建匿名内部类对象时传递了参数,该参数也被传递给了匿名类的基类的构造器,并不会在匿名类内部被直接使用。
匿名内部类在访问外部定义对象时,编译器希望该参数引用是final的。
匿名内部类既可以扩展类,也可以实现接口,但不能二者兼备;如果实现接口,也只能实现一个接口。
嵌套类:将内部类声明为static。
嵌套类对象不需要其外围类的对象;不能从嵌套类对象中访问非静态的外围类对象。
接口中的类:
在正常情况下,不能在接口内部放置任何代码,但不包括嵌套类。接口中的任何类自动时public和static。若想创建某些公共代码,它们可被某个接口的不同实现共用。
6、
