Java中专有的名词:
OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计
在Java的API中,awt和swing的区别:
1.awt利用操作自带的组件风格构建图形化界面,在跨平台使用时,可能风格不一致
2.swing是awt的扩展包,很多类直接或间接继承awt包中的类,有自己独立的显示风格,跨平台风格一致
布局管理器:
1.BorderLayout:边框布局,将组件按东西南北中的方式进行布局,每个方向都只放一个组件,当窗体变大或缩小,组件随之变化,是Frame,JFrame默认的布局管理器
2.FlowLayout:流式布局,将组件从上到下,从左到右,进行排列,组件的大小不会随窗体的改变而改变,如果组件超出窗体,组件会自动换行,是Pcmel,JPanel的默认布局 管理器。
3.GridLayout:网格布局,将整个窗体分为大小相等的几个部分,每个部分放一个组件,组件的大小 也会随窗体大小变化而变化(扫雷玩过吧,就是那个状态的)
在产生子类对象前会先产生父类对象,在父类基础上添加子类特有的属性和方法,所以一个子类对象 包含一个完整的父类 对象 ,自然可能重用父类的属性和方法,所以继承也称为展
super():调用父类的构造方法,产生父类 对象,如果子类没有书写super(),虚拟机会自动执行super(),这个也只能放在子类的构造方法的第一句
如果父类中不存在无参构造方法,子类继承父类,就必须使用super(参数)显示调用
重写:
1.重写发生在父类与子类之间
2.子类和父类的方法名,参数,返回类型都要相同
注:如果调用调用子类的方法, 会优先调用子类重写的方法,如果子类没有重写父类方法,就调用父类方法
在方法前加入@override:表示强制检测当前方法是否重写了父类方法,如果没有重写,那么编译错误
如果一个类被修饰为final,表示该类不能被 子类所继承
如果是方法被修饰为final,表示该方法不能被重写
如果是变量被修饰为final。表示变量是常量,如果是基本类型,表示该变量值不能改变,如果是引用类型,表示该变量不能指向别的对象
要比较对象,调用equals()该方法是object父类的方法,每个子类都可能继承,但object中的equals()默认比较的是对象的地址,如果想比较内容,那么就需要重写该方法
String这个类这所以可以调用equals()比较内容是因为该重写了equals()
几种访问修饰符:
public:该类或非该类均可访问
private:只有该类可以访问
protected:该类及其子类的成员可以访问,同一个包中的类也可访问
默认:相同数据包中的类可以访问
私有属性(被private修饰的成员变量)加上get/set方法,可以将属性设成只读或只写属性,可以在设置值时加入参数合法性的验证
封装:
按照信息隐藏的原则,将数据组织在一起,封装包含两层含义:1.信息集合 2.信息隐藏 对象可以看作属性和方法的封装
内部类:
在一个类中,再建一个类,叫做内部类
内部类相当于外部类的属性,可以是protected,private,static(外部不行),内部类产生的class文件格式是:外部类名$内部类名.class
内部类对象的产生需要依赖于外部类对象
静态块:在类加载时执行,只执行一次 格式:static{ }
只有一对花括号的叫实例化块:每产生一个对象就执行一次,在super()后执行