一、笔记
- 对象是类的一个实例
- 类是一个模板,它描述一类对象的行为和状态。
- 每个类都有构造方法,一个类可以有多个构造方法
- 关键字new来创建一个新的对象,会调用构造方法初始化对象
- 顺序 package import语句 类定义
- 包主要用来对类和接口进行分类,Import语句就是用来提供一个合理的路径,使得编译器可以找到某个 类
。
import java.io.*; //载入java_installation/java/io路径下的所有类
-
继承的特点:
- 子类拥有父类非 private 的属性、方法,子类是不继承父类构造方法或者构造函数,父类的构造器带有参数,则必须在子类的构造器中显式地通过
super
关键字调用父类的构造器并配以适当的参数列表,以便初始化私有域(super调用构造器语句必须是子类构造器的第一条语句);子类的方法不能直接访问父类的私有域,可以利用 super
调用父类自身的方法来提供接口
- public 的方法在子类中也必须为 public;protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
- 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
- 子类可以用自己的方式实现父类的方法
- 多重继承,Java 继承区别于 C++ 继承的一个特性 C->B->A
- 所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object
- extends 和 implements 这两个关键字来实现继承,extends 只能继承一个类; implements 可以同时继承多个接口。
- super关键字:super关键字来实现对父类成员的访问,用来引用当前对象的父类。this关键字:指向自己的引用。
-
非访问控制符:
- static 修饰符,用来修饰类方法和类变量。
- final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。final 变量一旦赋值后,不能被重新赋值; final 方法可以被子类继承,但是不能被子类重写;final 类不能被继承,没有类能够继承 final 类的任何特性;
- abstract 修饰符,用来创建抽象类和抽象方法。
- synchronized 和 volatile 修饰符,主要用于线程的编程。
-
访问控制修饰符:用来定义类、方法或者变量
- private : 在同一类内可见 类和接口不能声明为 private
- public : 对所有类可见
- protected : 对同一包内的类和所有子类可见 子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。
- 类之间的关系:依赖(uses-a),聚合(has-a),继承(is-a)
-
50.2
默认为double, 50.2f
表示浮点
- 在一个源文件中只能有一个公有类,可以有任意数目的非公有类
- 父类(超类、基类),子类(派生类)
- 声明一个父类的变量,这个变量既可以引用父类的对象,也可以引用子类的对象。若用这个变量调用某个方法,虚拟机知道其实际引用对象,并引用相应的类方法。一个对象变量可以引用多种实际类型的现象叫做多态,在运行时能够自动的选择调用哪个方法的现象叫做动态绑定。
- 重写(overriding)和重载(overloading)是多态性的不同表现,重写是父类与子类之间的多态表现,重载是在一个类里面的多态性的表现。
-
多态的实现方式
二、实践中的经验:
- 两个类在同一个包中,可以直接引用
- 类名首字母大写,方法变量名第二个字母和之后大写
- 添加键盘事件,先重写Keyadapter中的方法,然后给frame添加监听器
- 注意大小写 如:String
- 要想使用对象,就必须首先构造对象,并指定其初始装态,然后对对象施加方法
- 所有的方法中不要命名与实例域同名的变量。
三、疑问
- √静态static?
https://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html
https://www.cnblogs.com/dongzhiquan/archive/2009/07/21/1994792.html
- 内置类
- √包类之间的关系?
- √导入包?swing包?
- √super?this关键字
https://www.runoob.com/w3cnote/the-different-this-super.html
- 关于java数组?
- mvc
- 构造函数
四、单词
Cannot resolve symbol 'setSize' 无法解析符号“ setSize”
原文
https://segmentfault.com/a/1190000021265051