import java.io.*;
public class Print{
public static void main(String[] args) throws IOException
{
//老版本的输出输入流
/*
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
System.out.println("print");
do{str=br.readLine();System.out.println(str);}while{!str.equals("end")}//br.readLine标准读取一个字符。str.equals读取str字符串
*/
//Java5新特性Scanner类输入
Scanner s = new Scanner(System.in);
String str;
System.out.println("输入");
if(s.hasNext()){String str1=scan.next();System.out.println("输出"+str)};//hasNext判断是否有输入
//next();获取字符
s.close();//关闭
/*
next()
1、读到有效字符后结束输入
2、对于空白字符,next()会自动去掉
3、next对于空白符全部去除不要,所以字符串没有空格
4、只有输入字符之后,后面的那些空白符才是结束的意思
nextLine():
1、按回车键结束
2、可以有空格,并且会输出空格
finally关键字
无论是否异常发生finally代码块中的代码都执行
声明自定义异常
1、所有的异常都是Throwable的子类
2、如果想写一个检查类,则需要继承Exception类
3、如果是运行时异常类,要继承RuntimeException类
*/
//java不支持多继承但是支持多重继承a->b->c
implements关键字可以变相实现多继承
public interface A{}
public interface B{}
public class C implements A,B{}
super 关键字
super.方法 可以在子类当中调用父类的此方法
final 关键字
final 修饰的类不能继承。修饰方法的话,此方法不能重载
声明方法
修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}
}
}
抽象类
abstract class来定义抽象类
抽象类不能直接用,需要继承重写再来使用子类
抽象方法
方法名后面跟着的是分号;不是{}
抽象方法必须在抽象类中
继承抽象方法需要重写如果不重写用不了
java public abstract double computePay();//抽象方法
封装
建议属性设置为私有
接口
通常用interface来声明
接口类中每一个类都是抽象类
接口类中的类都是隐式的
接口的方法都是公有的
接口的名字和文件名相同
接口没有主函数,只接写方法
java 文件名:Test.java public interface Test{ public void setTest(String name); }
接口的实现
如果要实现接口的话,需要把接口的方法都重写
不然就不能实现,类改为抽象类
使用关键词implements
implements要在class之后
java public class 类名 implements 接口类名{} //访问权限 class 类名 implement 接口类名{}
标记接口
在接口类里面如果没有任何方法的接口就是标记接口
枚举
values()//返回枚举中所有值
ordinal()//返回枚举的索引
valueOf()//返回指定枚举常量
原文:https://www.cnblogs.com/zytlk/p/14603824.html