Java 课堂随笔 (4)

来源:互联网 发布:淘宝怎么搜漏洞券 编辑:程序博客网 时间:2024/06/01 12:01

构造方法

      非常极其特别的重要。new 方法开辟出堆中空间后,被调用来初始化对象。 与普通方法不一样。

      初始化类中属性的。

     1 在命名上构造方法的方法名。必须与类名相同,完全一致

     2 构造方法无返回值类型。 public Hello

面向对象的特点:

     继承  封装   多态  抽象  如过就三个,就把抽象去掉;

     1继承   方法的重载,用相同的方法名和不同的参数列表,做相似的事。重载构造方法。 

                  不同的参数列表: 1 类型 2 顺序 3 数量

     2封装:  有些属性私有的,不给别人看。

      3抽象:

      4多态: 一个事物多种形态

   变量的作用域及初始化生命周期

      作用域:变量声明开始,一直到变量所在的大括号的结束

     初始化: 1 局部变量  :不会被默认初始化,、只有手动初始化后 ,才能使用

                     2  类体中的变量: 默认初始化为不同程度的0。

                     long =  0L   char = '\u0000'     boolear = false 

                     int 0   float = 0.0f    shot = 0;byte = 0   double =  0.0

                     Sting是一个类 。

                      String Str1 =  "ABC",String Str2 = "d"  Str1 = Str1+Str2;   先对 Str1 扩容,再拼接

                   String s1 = "hello";  string s2 = new string("hello");不管之前有没有,就在、重新存在一个

  equals 相似 相等   返回是不是一个对象

                  String s1 = "hello";    String s2 = new String ("hello");   s1 s2   

类在声明时,系统会默认自动生成一个无参构造方法。

若手动添加一个有构造方法,则系统不再生成无参 Constractur;  注: 好习惯  写类的时候,手动添加一个无参C

封装:①私有化

           ②访问控制                 本类       同包类   非同包子类  非同包其它类  
           ㈠共有 public            yes         yes               yes                 yes

           ㈡保护 protected      yes         yes               yes                  no

           ㈢默认                        yes         yes               bo                 no

            ㈣私有                       yes            no              no                    no
集成

继承   多态

类的继承

/*
 * 在存在继承时,
 * 1 属性和方法都会被继承到子类中
 * 2 静态的类变量方法,回被共享到子类  共享  就是  你没有  可以让你用
 * 3 子类的构造方法被在调用时 会在一行调用 父类的无参构造方法
 * 4 Java 不支持多重继承,一个类只能有一个父亲,但可以有多个子类
 */

//子类继承父类,会继承父类中 所有的属性和方法
    //继承可以提高代码的重用度

/**
     * static 静态的 共享的
     * 被static修饰的变量和方法可以被类的所有变量共享
     * 变量,
     *    在类体中声明的变量可以被static修饰,
     *    但是局部变量不行
     *    
     * 方法,
     *    static可以修饰方法,表示该方法属于类
     *   语句块
     *     在方法或类中出现的一对大括号所表示的区域是语句块
     *     static只能在修饰类中的语句块  静态语句块
     *
     * 类
     *   static只能且只能修饰内部类
     */

先加载父类静态语句块

在加载子类静态语句块

加载父类非静态语句块

加载父类构造方法

加载子类非静态语句块

子类子类构造方法

静态的方法不能直接调用非静态的方法和属性

要调用必须new ]

 使用向上造型时,使用父类的引用变量

去引用子类的实例对象

引用调用对象的属性各方法时,只能调用引用变量类型以上的属性和方法

0 0
原创粉丝点击