转载

java笔记

一、笔记

  1. 对象是类的一个实例
  2. 类是一个模板,它描述一类对象的行为和状态。
  3. 每个类都有构造方法,一个类可以有多个构造方法
  4. 关键字new来创建一个新的对象,会调用构造方法初始化对象
  5. 顺序 package import语句 类定义
  6. 包主要用来对类和接口进行分类,Import语句就是用来提供一个合理的路径,使得编译器可以找到某个

    import java.io.*; //载入java_installation/java/io路径下的所有类

  7. 继承的特点:

    • 子类拥有父类非 private 的属性、方法,子类是不继承父类构造方法或者构造函数,父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表,以便初始化私有域(super调用构造器语句必须是子类构造器的第一条语句);子类的方法不能直接访问父类的私有域,可以利用 super 调用父类自身的方法来提供接口
    • public 的方法在子类中也必须为 public;protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
    • 子类可以用自己的方式实现父类的方法
    • 多重继承,Java 继承区别于 C++ 继承的一个特性 C->B->A
    • 所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object
  8. extends 和 implements 这两个关键字来实现继承,extends 只能继承一个类; implements 可以同时继承多个接口。
  9. super关键字:super关键字来实现对父类成员的访问,用来引用当前对象的父类。this关键字:指向自己的引用。
  10. 非访问控制符:

    • static 修饰符,用来修饰类方法和类变量。
    • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。final 变量一旦赋值后,不能被重新赋值; final 方法可以被子类继承,但是不能被子类重写;final 类不能被继承,没有类能够继承 final 类的任何特性;
    • abstract 修饰符,用来创建抽象类和抽象方法。
    • synchronized 和 volatile 修饰符,主要用于线程的编程。
  11. 访问控制修饰符:用来定义类、方法或者变量

    • private : 在同一类内可见 类和接口不能声明为 private
    • public : 对所有类可见
    • protected : 对同一包内的类和所有子类可见 子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。
  12. 类之间的关系:依赖(uses-a),聚合(has-a),继承(is-a)
  13. 50.2 默认为double, 50.2f 表示浮点
  14. 在一个源文件中只能有一个公有类,可以有任意数目的非公有类
  15. 父类(超类、基类),子类(派生类)
  16. 声明一个父类的变量,这个变量既可以引用父类的对象,也可以引用子类的对象。若用这个变量调用某个方法,虚拟机知道其实际引用对象,并引用相应的类方法。一个对象变量可以引用多种实际类型的现象叫做多态,在运行时能够自动的选择调用哪个方法的现象叫做动态绑定。
  17. 重写(overriding)和重载(overloading)是多态性的不同表现,重写是父类与子类之间的多态表现,重载是在一个类里面的多态性的表现。
    java笔记
  18. 多态的实现方式

    • 重写和重载
    • 接口
    • 抽象类和抽象方法

二、实践中的经验:

  1. 两个类在同一个包中,可以直接引用
  2. 类名首字母大写,方法变量名第二个字母和之后大写
  3. 添加键盘事件,先重写Keyadapter中的方法,然后给frame添加监听器
  4. 注意大小写 如:String
  5. 要想使用对象,就必须首先构造对象,并指定其初始装态,然后对对象施加方法
  6. 所有的方法中不要命名与实例域同名的变量。

三、疑问

  1. √静态static?
    https://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html
    https://www.cnblogs.com/dongzhiquan/archive/2009/07/21/1994792.html
  2. 内置类
  3. √包类之间的关系?
  4. √导入包?swing包?
  5. √super?this关键字 https://www.runoob.com/w3cnote/the-different-this-super.html
  6. 关于java数组?
  7. mvc
  8. 构造函数

四、单词

Cannot resolve symbol 'setSize' 无法解析符号“ setSize”

原文  https://segmentfault.com/a/1190000021265051
正文到此结束
Loading...