Scanner.next()不能接受空格 nextLine()可以 并且用得较多
IDEA自动补全创建的对象 alt+enter
数字.for 可以直接快捷创建for的头参数
int x:数组名 等于把数组中的每个数遍历赋值给X
静态方法时间片早 不能在静态方法中调用非静态方法
调用方法 要么new一个对象 要么是静态方法
java是值传递,调用方法不会改变原本的值
一个模板类就是用来组织代码的,而New出来的一个对象就是用来封装具体的数据的。
构造器作用:使用new关键字时必须要有构造器;new一个对象时,先调用构造器后才会回到新建对象的地方。
一旦定义了有参,无参就必须显示定义
alt+insert生成有参和无参构造器
alt+insert生存get set 方法
ctrl+H 可以看出继承关系
调用父类的构造器必须在子类构造器代码的第一行
一个对象的实际类型是确定的,但可以指向的引用类型是不确定的
例如可以 Student s =new Student()
Person s = new Student()//父类引用,指向子类对象 //父类型,可以指向子类,但是不能调用子类独有的方法
对象能执行哪些方法,主要看对象左边的类型,和右边的关系不大!
多态是方法的多态,而不是属性的多态,属性没有多态
类型转换异常 ClassCastException
两个都有相同的方法,则执行子类的
静态方法(static)不能被重写,final方法不能重写
private方法也不能重写
instanceof 比较两个类型的相似程度
子类型转换为父类,可能丢失自己本来的一些方法
方便方法的调用,减少重复的代码,简洁
静态的变量和方法推荐直接使用类名. 的模式来调用 静态变量在内存中只有一个
非静态方法,不加载前都不存在,所有不能直接调用
匿名代码块,比构造方法先执行,一般用来赋初始值
想直接用方法,可以导入包,也可以直接静态导入方法
final之后,断子绝孙
继承了抽象类的子类,需要去实现抽象类的方法
抽象类不能new出来,只能靠子类去实现它的约束
抽象类中可以写普通方法
抽象方法必须在抽象类中
接口:interface
接口可以多继承
接口中的所有定义其实都是抽象的,public,abstract
定义的所有属性都是静态的 static final public
implements 实现一个接口,必须实现接口中的所有方法
接口的作用1.约束 2.定义一些方法,让不同的人实现 3.可以实现多个接口 4.让不同的人实现共同的工作 5.必须重写接口中的方法
内部类:通过外部类实例化 可以获得外部类的私有属性
一个java类中可以有多个class类,但只能有一个public
匿名初始化 new apple().eat(); 不需要
try catch ,finall可以不要 catch里是想要捕获的异常类型
选中一句话 ctrl+alt+t可以选择一个循环把某句话包裹起来