java 入门学习笔记(封装,继承,多态)

来源:互联网 发布:mysql用户密码修改 编辑:程序博客网 时间:2024/05/19 19:15
  1. Arrays.sort();//对数字数组排序
  2. 声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
  3. This关键字是代表当前类的对象
  4. 封装:
    定义:某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。
    好处:只能通过规定的方法来访问数据;藏类的实例细节,方便修改和实现。
    实现:修改属性的可见性,创建getter和setter方法,在方法中添加属性的控制语句。
  5. 内部类:定义在另一个类里面的类,
    作用:提供了更好的封装,不允许同一个包下的其他类访问该类;内部类可以访问外部类的所有属性和方法,包括私有的属性;内部类实现的功能使用外部类同样可以实现,只是使用内部类更加方便。
    外部类不能直接使用内部类的属性和方法,需要创建内部类的实例。
    静态内部类不能使用外部类的非静态方法,需要new的方式来使用。
    方法内部类只能在方法内部使用。
  6. 继承:是类和类的关系,是is a 的关系。Extends关键字
    在java中只能单继承,即一个类只能继承自一个类。
    要使用父类的属性和方法,则父类的属性和方法必须是公有的
    子类对父类的方法重写,在调用的时候首先使用子类重写的方法。重写时类型,方法名,参数类型必须一样。
    继承的初始化顺序:先初始化父类再初始化子类。
  7. Final关键字:final修饰类,则该类不能被继承;final修饰方法,则子类不能覆盖父类的final方法。
  8. Super关键字:在子类中可以代表父类,可以直接用super.来获取父类的属性和方法。
    子类的构造方法中必须调用父类的构造方法,即uper();,一般是隐式调用父类的午餐构造方法,如果要显式调用父类的构造方法,必须写在子类构造方法的第一行。如果没有显式调用父类的构造方法,而父类没有无参的构造方法,则会报错,因为隐式调用父类构造方法的时候找不到父类的无参构造函数。
  9. Object类:是所有类的父类。
    不重写toString方法的话,输出值是包名+哈希地址。
    Dog dog = new Dog();
    其中dog是对象的引用,new Dog()是对象
  10. 类对象和类的对象:
    类对象:getClass(),注重的是这个类的属性代码信息。
    类的对象:new Class(),注重的是这个类属性的值信息。
  11. 多态:对象的多种形态
    引用的多态:父类引用指向本身对象,也可以指向子类对象。
    方法的多态:创建子类后,调用的方法是子类重写的方法或继承自父类的方法。
  12. 抽象类:abstract关键字
    应用场景:①在某些情况下,父类只是知道子类需要什么样的方法,但无法准确知道子类怎么实现这些方法。②从具有相同特征的多个类中抽象出一个抽象类,以这个抽象类为模板,约束子类的方法,避免子类的设计的随意性。
  13. 接口:接口中都是用常量和公共的抽象方法。接口其实是类的规范。
    接口可以多继承。
    一个类可以实现一个或多个接口,如果还继承了一个类,继承要放在实现接口前。
  14. 异常:阻止当前方法和作用域运行,就是异常
    运行时异常:runtimeexception 数组下标越界,空指针异常等,虚拟机抛出异常,基本是代码问题。
    检查异常:文件不存在,链接错误等
  15. String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder。每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用“=”比较时也为“alse”,如果只需比较内容是否相同,应使用“quals()”方法
  16. java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间。
  17. 集合概念:集合是一种工具类,就像容器,存储具有相同属性的对象
  18. 集合框架中两类:collection map
    这里写图片描述
0 0
原创粉丝点击