近期学习java的一些笔记.....整理。
以类的方式组织代码,以对象的组织(封装)数据
类是对象的模板
一个类里只有属性和方法
一个项目应该只存放一个main方法
this.xxx(this指代当前类)
用new来具体实例抽象类
快捷键Alt+insert
用new关键字,本质在调用构造器
一旦定义了有参构造,无参就必须显示定义,通过关键字调方法。
有参构造=重载
静态方法 static:和类一起加载的 随时可以调用,不用new
栈存放:变量的引用,方法
堆存放:创建出来的对象
是类与类之间的关系
所有的类都默认直接或间接继承object类(private的东西无法被继承)
super.xxx; xxx为父类的东西 子类中有隐藏的super();且必须放在第一行。
子类默认调用父类的无参构造
父类的功能,子类不一定需要,或者不一定满足。
*即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。
*一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。
....Student extends Person(){
}
//Student 能调用的方法都是自己的或者继承父类的
Student s1=new Student();
//Person 父类型,可以指向子类,但是不能调用子类的独有方法
Person s2=new Student();//父类的引用指向子类的对象。
Object s3=new Student();
X instanceof Y;//有父子关系则为true,否则为false
高转低:((子类)父类的引用名.方法)
子类转换为父类,可能会丢失自己本来的一些方法
注:把子类转化为父类,向上转型;把父类转化为子类,向下转型(强制转换)
有final修饰的类无法被继承
方便方法的调用,减少重复的代码,简洁
类的extends:单继承 (接口可以多继承)
抽象方法,只有方法名字,没有方法的实现。
抽象类的是所有方法,继承它的子类都必须要实现它的方法,除非,,接口?
//存在的意义?
//不能new,存在构造器吗?
提高开发效率。。
声明关键字interface。
*内部类可以获取外部类的私有(private)属性。
*一个java类中可有多个class类,只能有一个public class类。
*局部内部类:方法中的类。
异常:Exception
错误:Error
Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。
【try-catch-finally】中,try和catch一定要有,finally可以不要。
catch(想要捕获的异常类型!)
要捕获多个异常,从小到大。idea快捷键Ctrl+Alt+T
throws:在方法体主动抛出异常。
能够让程序异常时也能够执行。
*处理运行时异常,采用逻辑去合理规避同时辅助try-catch处理。
*对于不确定的代码,也可以加上try-catch,处理潜在的异常。
*尽量添加finally语句块去释放占用的资源。
=================================================================
标签: 开发日记
评论: