Java学习第九天

周总结:
1.面向对象:把不同的功能封装在不同的对象中,用到什么功能就找相应的对象

     首先要定义描述对象的类,类是用来创建对象的

     new Person()----->JVM使用的是Person.class来创建对象的,字节码中定义了说什么,对象中就有什么

2.成员变量:作用域是整个类,有默认值,在堆中开辟内存
3.局部变量:作用域是所在大括号,没有默认值,在栈中开辟内存

 

4.JVM加载Person().class到方法区,(用谁就加载谁,加载到内存),main函数入栈,执行main函数中的代码
  在栈中开辟内存,给ren这个局部变量,在堆中开辟内存(内存的大小依据成员变量)

5.构造函数:专门用来创建对象的,一个类中如果没有构造函数,那么系统的会自动加一个构造函数:类名(){}
  自己加入了构造函数,那么系统就不会自动加入构造函数了

  函数名和类名相同,不能有返回值类型
  可以利用构造函数实现属性的赋值

6.this:是一个引用,总是指向当前正在被使用的对象
   是构造函数之间的调用,必须卸载第一行的位置

7.super
8.static:修饰符,可以修饰成员变量,成员方法,成员内部类
  修饰成员变量:成员变量的值可以被所属类的所有对象共享
  修饰成员方法:该方法没有用到所属类的任何非静态成员

  被static修饰的,随着类的加载就进入方法区的静态区
  静态之呢个使用静态,非静态什么都可以使用


9.应用:工具类 javadoc -d 目录 XX.java

 

10静态代码块:static{}
  随着类的加载而执行,只执行一次,优先于main的执行

  构造代码块:
  {}
  对象一创建就执行,优先于构造函数的执行

11.单例设计模式:保证一个类只有一个对象
  

1 class YHW{
2 private YHW(){}//不能new对象
3 private    static final YHW y=new YHW();
4 public static YHW getInstance()
5 {
6 return y;
7 }
8 }

 


12.继承:多个对象共性的东西提取到一个类中。extends 单继承,代码的复用,父子关系

  成员变量:同名:用的是子类自己的 如果使用父类的:super.num
  成员方法:重写:子类出现了和父类一样的方法,只要创建的是子类的对象,使用的就是子类的

  构造函数:创建子类对象时,总是先执行父类的构造函数,在执行子类的构造函数
       系统自动在子类构造函数的第一行加入了super()------>调用父类的空参构造函数


13.为了利用父类中给属性赋值的代码,super(name,age,address);
 注意:每个类都要定义空参的构造方法,防止子类出错


14.final:可以修饰类,方法,成员变量,局部变量
15.抽象类:对多个对象提取父类的过程中出现的

 

 

16.接口:

1 interface inner
2 {
3 public static final int num=9;//常量,没有变量
4 public abstract void show();
5 }
6 class Demo implements inner
7 {
8 }

  接口就是特殊的类

17.多态:Fu f=new Zi();
  成员变量:能访问的是父类的,结果看父类
  成员方法:能访问的是父类的,结果看子类
  静态:看父类


18内部类:成员内部类、静态内部类、局部内部类、匿名内部类

posted on 2019-08-05 21:53  small_slag  阅读(213)  评论(0编辑  收藏  举报

导航