java之面向对象2

来源:互联网 发布:怎样删除淘宝评价 编辑:程序博客网 时间:2024/06/06 03:59

构造方法

作用:对对象的属性(成员变量)进行初始化的

写法:

1.构造方法名与类名完全相同相同(大小写必须一样)

2.没有返回值类型(连void都不写)

3.没有返回值(没有 return)

public class Demo01 {    public static void main(String[] args) {        //创建一个Person对象        // 构造方法 系统帮你再帮你调用 在初始化对象时        // 无法自己来调用构造方法(不能使用对象点方法)        Person p = new Person();        // 测试有参数的构造方法        // 理解:初始化时后面那对小括号        // 填参数调用的就是有参构造函数        // 没填参数反之 调用无参构造方法        // 思考:为什么这么理解        //函数的重载 参数不同(参数顺序 参数个数 参数类型)        //切记 参数的名字不同 不是函数的重载        //构造方法 也符合函数的重载        Person p2 = new Person("王五",100);        p2.sayHi();        //    }}class Person{    String name;    int age;    // 无参数构造方法    public Person(){        name = "张三";        age = 18;    }    //需求 写一个有参数的构造方法    public  Person(String name, int age) {        this.name = name;        this.age = age;    }    public void sayHi() {        System.out.println(name+"----"+age);    }}

构造方法的注意事项

1.如果你没写任何构造方法都没写

那么系统会给你提供一个 无参构造方法

2.如果你写了有参的构造方法

这是系统就不再 为你提供无参构造方法

3.如果你想写有参的构造方法 建议你把无参构造方法也写上

静态变量

  • 静态变量调用

    • 1.可以适用对象去调用(不推荐)
    • 2.静态变量用类名区钓用
    • (静态变量不以来对象 因为静态变量加载的时候 对象还没创建)

      • 思考:静态变量的特点 好处 应用场景 与 成员变量区别

      • 静态变量的特点:
    • 1.随着类的加载而加载
    • 2.创建优先于对像存在
    • 3.是类创建出来的对象 共享的部分
    • 4.可以使用类名去调用
    • 好处 :节省内存空间

      • 应用场景 : 饮水机 水杯

    • *静态变量与成员变量的区别
      *1.所属不同
      *成员不同: 成员变量属于对象的 又叫对象变量(实例变量)
      *静态变量:属于类的 又叫类变量
      *2.内存中的存储位置不同
    • 成员变量 :存储在堆内存

      • 静态变量 :存储在方法区的静态区
        *3.加载到内存中的时机不同(生命周期不同)
    • 成员变量 :随着对象的创建而创建
    • 静态变量 :随着类的加载而加载
      *4.调用方法不同
      *成员变量:只能适用对象去调用
      *静态变量:可以对象调用 但是一般类名去调用
    • 内存表现步骤

      • 1.类加载到方法区

      • 2.加载到方法区的同时 ,静态变量被加载到方法区的 静态区
    • 3.main 函数入栈
    • 4.在堆内存中 创建 对象
    • 5.把地址赋值给mian函数的 对象
    • 6.main 函数 出栈
    • 7.结束
    • 图示
    • 这里写图片描述

public class Demo04 {    public static void main(String[] args) {        Girl g1 = new AVGirl();        g1.name = "丽丽";            Girl.country = "日本";        g1.sayHi();        Girl g2 = new AVGirl();        g2.name = "兰兰";        g2.sayHi();    }}class Girl{    String name;    static String country;    public void sayHi() {        System.out.println(name+"---"+country);    }}

静态方法

静态方法 又叫 类方法

public class Demo05 {    public static void main(String[] args) {        Man m1 =new Man();        m1.sayHi1();        //静态放的调用 使用 类名点方法区调用        Man.sayHi2();    }}class Man{    int num1;    static int num2;    // 在成员方法中 可以使用成员变量 和静态变量    public void sayHi1() {        System.out.println(num1);        System.out.println(num2);    }    //申明一个静态成员方法    // 静态成员方法中 不能使用 成员变量    // 只能使用静态变量    // 简单记 : 静态的方法只能使用静态的变量  和 静态方法    public static void sayHi2() {        System.out.println(num1);//报错        System.out.println(num2);    }

main方法的解释

public jvm虚拟机调用main 需要访问权限

static jvm虚拟机在调用 main方法时 不要创建对象

main jvm虚拟机在调用的时候 只知道main这个词

使用别的词 系统调不到 注意:main不是关键字

String[] args 原来接受从键盘输入的值0

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为荣耀手机进水了怎么办 华为畅享7黑屏怎么办 华为畅玩7x黑屏怎么办 华为手机打电话时黑屏怎么办 三星a8手机黑屏打不开怎么办 华为手机恢复出厂后黑屏怎么办 华为荣耀4c白屏怎么办 华为荣耀6手机信号不好怎么办 华为荣耀8手机音量小怎么办 无法激活触控id怎么办 魅蓝2卡顿怎么办 小米max2玩王者荣耀卡怎么办 小米4玩王者荣耀卡怎么办 华为荣耀7i卡顿怎么办 华为荣耀7卡的怎么办 荣耀8手机有孤独怎么办 红米note4玩游戏卡怎么办 红米note4x玩游戏卡怎么办 华为4c死屏怎么办 华为4c充电很慢怎么办? 华为4c突然死机了怎么办 华为畅玩4c内存不足怎么办 荣耀4c一直亮屏怎么办 华为手机返回键失灵怎么办 荣耀6p死机了怎么办 荣耀6主板烧坏了怎么办 虚拟运营商倒闭了号怎么办 买到二次放号怎么办 新运动鞋鞋穿着有点紧怎么办 一件代发被买家退货后怎么办? 洗了翻毛的鞋子怎么办 猫眼竹芋泡根了怎么办 双线花叶子卷了怎么办 华为云收藏满了怎么办 小米6云空间满了怎么办 华为云存储已满怎么办 苹果云备份空间不足怎么办 oppor9指纹与密码忘记怎么办 oppo显示密码格式不对怎么办 oppo云服务密码忘了怎么办 小米云内存满了怎么办