美文网首页
JavaForAndroid-04

JavaForAndroid-04

作者: tah | 来源:发表于2018-04-24 08:54 被阅读1次

    一、面向对象
    面向对象是一种编程方式、是一种思维方式,不是一种编程语言。
    如何学习?
    语法、思维方式、设计原则、设计模式
    什么是面向对象的思维方法?
    1)首先确定谁来做,其次确定怎么做;
    2)首先考虑整体,其次考虑局部;
    3)首先考虑抽象,其次考虑具体。

    二、定义类的方法
    class 类名{
    属性; //属性也叫成员变量,主要用于描述状态
    方法; //方法也叫成员函数,主要用于描述类的行为
    }

    生成对象的方法
    格式:类名 对象名 = new 类名(); //引用数据类型
    例如:Dog dog = new Dog();
    Dog dog在栈内存中创建一个Dog的引用,new Dog()在堆内存中开辟一块空间,创建一个Dog的对象放到该空间中,=将创建的Dog对象赋值给这个引用。


    创建类.png

    生成多个对象


    生成多个对象.png

    匿名对象
    可以不定义对象的引用名称,而直接调用这个对象的方法。这样的对象叫做匿名对象。如new Dog().jump();

    三、函数的重载
    1.处于同一个类中
    2.函数名相同
    3.参数列表不同

    四、构造函数
    1.构造函数没有返回值类型的定义
    2.构造函数名称必须与类名相同
    3.使用 new 构造函数 来调用
    4.如果一个类中没有构造函数,编译器会为类加一个参数为空且方法体为空的构造函数;如果一个类中已经有了构造函数,那么编译器就不会再添加无参数的构造函数。

    五、使用this调用成员变量和成员函数

    六、使用this调用构造函数

    七、静态成员变量、静态函数
    1、静态成员变量定义
    定义:static int i;
    调用:可以直接用类名调用。

    2、静态函数

    定义:static void fun () {} 静态成员变量.png
    调用:可以直接使用类名调用,在静态函数中,不可以使用非静态成员变量(不能使用this)。

    3、静态代码块
    定义:
    static {
    System.out.println("静态代码块");
    }
    调用:静待代码块无需调用,在将代码装载到虚拟机时执行。
    4、e.g.建议类名与源文件名相同
    class Person {
    static int i;
    String name;
    static{
    System.out.println("静态代码块");
    }
    static void fun () {
    System.out.println("我是静态函数");
    }
    static void talk() {
    //会编译报错,无法从静态上下文中取出非静态变量
    System.out.println("my name is "+name);
    }
    }
    class Test {
    public static void main (String args []) {
    //可以使用类名来调用
    Person.i = 10;
    }
    Person p1 = new Person();
    Person p2 = new Person();
    Person.i = 10;
    System.out.println("p1的i的值为:"+p1.i); //10
    System.out.println("p2的i的值为:"+p2.i); //10
    p1.i = 20;
    System.out.println("p1的i的值为:"+p1.i); //20
    System.out.println("p2的i的值为:"+p2.i); //20
    Person.fun();

    相关文章

      网友评论

          本文标题:JavaForAndroid-04

          本文链接:https://www.haomeiwen.com/subject/prlqcftx.html