- 在创建一个对象之前需要先做一些准备工作
- 1.构造方法 需要创建对象输出 输出: Test test=new Test();
- 2.静态变量
- 3.静态方法 必须主动调用才能执行
*代码块 在对象创建之前就优先调用 优先于static修饰的代码块
- 修饰符(可有,有必须是static){
- 执行内容
*} - static 修饰的代码块不能直接使用成员变量
- 类里面可以有多个代码块
- 执行顺序和先后顺序一样
-
尽量不要写多个代码块
- 继承
- 封装 用类来封装属性和方法
- 访问权限:private public protected
- 继承 a extends b
- 获得父类的方法和属性 并且需要添加自己的属性和方法
- java里面只能单继承,可以变向多继承
- 所有的类都是直接或间接继承object类
- 当调用子类的一个方法时,如果没有就到父类里去查找
- 如果在子类里面需要调用父类的方法 或者显示调用父类的属性 使用super
// * 什么情况下需要在一个方法里面调用super的对应方法?
public void walk
{
super. walk();}
如果一个方法需要完成一个功能,又不能单独完成,
必须要父类做相应的工作
-
1.父类做完之后 子类再操作
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
2.子类做点事情之后 在调用父类去完成
protected void onDestroy() {
//...
super.onDestroy();
}父类: public person1(String name,int age)
{
this.age=age;
this.name=name;
} 子类: public civil(String name, int age, float salary, int number) {
super(name, age);
this.salary = salary;
this.number = number;}
如果子类里面需要重新实现父类的方法 就需要重写
@Override 方法名
如果父类有自定义构造方法
子类的构造方法里必须显示调用父类的构造方法
如果父类有内部类
子类有同名的内部类
那么父类的内部类被覆盖了
-
如果非要使用父类中的内部类 只能使用全类名 person.inner
*/
内部类:
定义一个类 可以在多个地方定义
1.单独创建一个文件管理一个类
2.直接在文件里面 类的上面和下面创建
3.直接在某个类内部创建一个类
一个类A依附于另一个类B
多态polymorghic
- 1.同一个方法 多种实现=在不同的子类中有不同的实现
- 2.如果有继承关系:子类的对象方法可以用父类变量接受
-
类型的自动向上转换
感悟:今天学习了很多知识,学习的难度不是很大,很轻松。