zoukankan      html  css  js  c++  java
  • 慕课笔记-Java入门第二季

    1.java对象的使用

    (1)创建对象

    类名 对象名=new 类名();

    (2)使用对象

    引用对象的属性:对象名.属性;

    引用对象的方法:对象名.方法();

    Note:

    ①Java会给成员变量赋初始值,不会给局部变量赋初始值。

    ②在成员变量和局部变量重名时,局部变量有更高的优先级。

    2.构造方法

    构造方法与类名相同且没有返回值。

    不需要用对象名.方法();的形式来调用,直接创建对象后即可调用。

    当没有指定构造方法时,系统会自动添加无参的构造方法。

    3.static使用

    static变量,属于整个类所有而不是某个对象所有,即被类的所有对象所共享。静态变量可以使用类名直接访问,也可以使用对象名进行访问。

    ①静态方法中可以直接调用同类中的静态变量,但不能直接调用非静态变量。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

    ②普通成员方法中,可以直接访问同类的非静态变量和静态变量。

    ③静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

    ④创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名=new 内部类();。

    ⑤方法内部类定义在外部类的方法中,只在该方法内部所见,因此不能使用访问控制符和static修饰符。

    4.继承的初始化顺序

    ①初始化父类再初始化子类;

    ②先执行初始化对象中属性,再执行构造方法中的初始化(和代码顺序无关)。

    5.final使用

    final修饰类,则该类不能被继承。

    final修饰属性,则该属性不会进行隐式的初始化,必须初始化属性或者在构造方法中赋值(只能选其一)。

    6.super使用

    ①子类的构造的过程中必须调用其父类的构造方法。

    ②如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类无参的构造方法。

    ③如果显式地调用构造方法,必须在子类的构造方法的第一行。

    ④如果子类既没有显式地调用父类的构造方法,父类又没有无参的构造方法,则编译报错。

    7.Object类

    所有的类默认继承Object。

    ①toString()方法

    在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串)。

    可以通过重写toString()方法表现出对象的属性。

    ②equals()方法

    equals()方法比较的是对象的引用是不是指向同一块内存地址。

    可以通过重写equals()方法来比较两个值是否一致。

    示例:

    public boolean equals(Object obj){

    if(this==obj)  //判断两个对象指向的地址是否一致

       return true;

    if(obj==null)  //判断obj对象是否为空

       return false;

    if(getClass()!=obj.getClass())   //判断两个对象的值是否相等

        return false;

    Dog other =(Dog) obj;  //将obj对象转换为Dog类型

    if(age!=other.age)   //判断两个对象的属性是否相等

       return false;

    }

    8.多态

    ①引用多态

    示例:类Dog继承类Animal

    Animal obj1=new Animal();   //父类的对象引用本类的对象

    Animal obj2=new Dog();   //父类的对象引用子类的对象

    Dog obj3=new Animal();   子类的对象不能引用父类的对象

     Dog dog=new Dog();

    Animal animal=dog;  //向上类型转换,自动类型转换

    if (animal instanceof Cat){   //这时候animal实际是Dog类型对象,无法转换成Cat对象

       Cat cat=(Cat)animal;    //向下类型转换,强制类型转换

    }else{

       System.out.println("无法进行类型转换");

    }

    ②方法多态

    创建本类对象时,调用的是本类的方法;

    创建子类对象时,调用的是子类重写的方法、子类继承父类的方法或者子类自己的方法。

    9.抽象类

    抽象类约束子类中的方法。

    抽象类中的抽象方法没有方法体,以分号结束。

    10.接口

    接口可以理解为一种特殊的类,由全局常量和公共的抽象方法组成。

    类是单继承的,接口可以多继承。

    接口里属性是常量,即使定义时不添加public abstract修饰符,系统也会自动加上。

    接口的实现和调用和抽象类类似,以下介绍两种特殊的接口实现方式:

    ①IPlayGame ip=new IPlayGame(){

       public void playGame(){

          System.out.println("使用匿名内部类的方法实现接口");

       }

    };

    ip.playGame();

    ②new IPlayGame(){

       public void playGame(){ 

          System.out.println("使用匿名内部类的方法实现接口");

       }

    }.playGanme();

     

  • 相关阅读:
    几维安全SDK应用加固,全线5折为APP保驾护航
    物联网渗透测试威胁建模,捕捉应用相关安全风险
    【几维安全】Android代码混淆,代码混淆工具,Android版使用详细说明
    畅想物联网安全未来,几维安全让万物互联更安全
    域起网络携手几维安全,护航互联网游戏业务安全
    Android 加密, Android 常用加密, Android So 库高强度加密
    车联网安全威胁分析及防护思路,几维安全为智能汽车保驾护航
    C#实现基于ffmpeg加虹软的人脸识别
    OSX 下搭建Asp.Net vNext的开发环境
    验证码识别记录
  • 原文地址:https://www.cnblogs.com/lalabola/p/7993548.html
Copyright © 2011-2022 走看看