首页 > 系统相关 >Java-类-对象 - 对象内存图 成员变量和局部变量的不同 this关键字 构造方法 封装 权限修饰符 标准javaBean20

Java-类-对象 - 对象内存图 成员变量和局部变量的不同 this关键字 构造方法 封装 权限修饰符 标准javaBean20

时间:2023-03-04 18:12:16浏览次数:50  
标签:Java name 构造方法 对象 price 修饰符 println public String

 

 

 

 

 

package com.demo.css;

public class css01 {
//    java要创造对象,必须要有类的存在
//    类:一组相关属性和行为的集合,看做是对象的设计图
//    对象:是根据设计图,创造出来的实体

//    类和对象的关系:
//        1.依赖关系:根据类,创造对象
//        2.数量关系:一个类可以创造多个对象
//    类的形成:
//        类的本质:对事物进行的描述
//        属性:在代码中使用成员变量表示,成员变量跟之前定义的格式一样,只不过位置发生了变化,类方法外
//        行为:在代码中使用成员方法去表示,成员方法和之前定义的方法一样,只不过要去掉static关键字


//    1.创造对象的格式:
//        类名 对象名 = new 类名(); 比如:int arr[] = new int[];
//    2使用对象成员变量的格式
//        对象名.成员变量
//    3使用对象成员方法的格式
//        对象名.成员方法
    String name = "张三";
    int age = 18;
    

}

  

package com.demo.css;

public class css02 {
    public static void main(String[] args) {
        css01 css = new css01();
        System.out.println(css.name);
        System.out.println(css.age);
    }
}

 练习:

package com.demo.css;

public class phone {
    String brand;
    String color;
    int price;

    public void call(String name) {
        System.out.println("给" + name + "打电话");
    }
    public void Mess() {
        System.out.println("群发短信");
    }
}
package com.demo.css;

public class phoneCss {
    public static void main(String[] args) {
        phone ph = new phone();
        ph.brand = "小米";
        ph.color = "白色";
        ph.price = 99;
        System.out.println(ph.brand+"--------"+ph.color+"-----"+ph.price);
        phone ph2 = new phone();
        ph2.brand = "红米";
        ph2.color = "黑色";
        ph2.price = 9999;
        System.out.println(ph2.brand+"--------"+ph2.color+"-----"+ph2.price);
        ph.call("张三");
        ph.Mess();
        ph2.call("李四");
        ph2.Mess();

    }
}

  图书案例:

package com.demo.css;

public class book {
    String id;
    String name;
    double price;

    public void show(String id,String name,double price) {
        System.out.println(id+name+price);
    }
}
package com.demo.css;

public class Bookcss {
    public static void main(String[] args) {
        book bk = new book();
        bk.id = "001";
        bk.name = "三国";
        bk.price = 88.00;
        bk.show(bk.id,bk.name,bk.price);
        book bk2 = new book();
        bk2.id = "002";
        bk2.name = "水浒";
        bk2.price = 88.00;
        bk2.show(bk2.id,bk2.name,bk2.price);
        book bk3 = new book();
        bk3.id = "003";
        bk3.name = "富婆通讯录";
        bk3.price = 88.00;
        bk.show(bk3.id,bk3.name,bk3.price);
    }
}

  对象内存图: 

    单个对象内存图:

 

 

 两个对象内存图:

  数据空间都是独立的,互不打扰,也叫对象引用共同图

  

 

 

 两个引用指向内存图

  

 

 

 

 成员变量和局部变量的不同:

  1类中编写位置的不同:

 

 

 

 

 

 

 this关键字: 

  

 

 

 

 

 

 

 

构造方法:

 

 

 

 

 

 

package com.demo.structure;

public class stu {
    //    构造方法:创造对象时,要执行的方法
//    格式:
//        1方法名与类名一致,大小写也一致
//        2.没有返回类型,连void也不能有
//        3.没有具体的返回值()不能return 返回结果
//    执行时机:
//        创建对象时执行
//        每创建一次对象,就会执行一次
//    作用:
//        本质作用:创建对象
//        执行时机:可以创建对象时,给对象的数据初始化
//    注意事项:
//        一个类中,没有编写构造方法,系统会提供一个[默认的][无参数]的构造方法
//        一个类中,手动编写了构造方法,系统不会默认提供那个方法

    public static void main(String[] args) {
        stuDemo stu = new stuDemo();
        System.out.println(stu);
    }
}
package com.demo.structure;

public class stuDemo {
    public stuDemo(){

        System.out.println("我是stuDemo的构造方法");
    }
}

 

封装:

 

 

 

 

 

权限修饰符:
private:访问权限很低,只能在同一个类中访问,使用会,在另一个类使用会爆红
(default):同一个类,同一个包中
protected:同一个类,同一个包中,不同包的种类
public:任意位置访问
package com.demo.structure;

public class authority {
    //私有成员变量,为了安全性
   private int age;

    public void setAge(int age) {
        if(age>= 1 &&120>=age){
            this.age = age;
        }else {
            System.out.println("输入有误");
        }
    }

    public int getAge() {
        return age;
    }
}
package com.demo.structure;

public class authorityDome {
    public static void main(String[] args) {
      /*
        权限修饰符:
            private:访问权限很低,只能在同一个类中访问,使用会,在另一个类使用会爆红
            (default):同一个类,同一个包中
            protected:同一个类,同一个包中,不同包的种类
            public:任意位置访问

        */
        authority sut = new authority();
        sut.setAge(199);
        int age = sut.getAge();
        System.out.println(age);
    }
}

  标准javaBean:

    javaBean:实体类:封装数据的类

  搜索pgt,安装

  

 

标签:Java,name,构造方法,对象,price,修饰符,println,public,String
From: https://www.cnblogs.com/wencaiguagua/p/17177744.html

相关文章

  • java 线程中断
    线程中断方法被弃用,如果要实现该功能需要手动实现,一种思路是定义一个布尔值变量(对外提供方法修改变量值)每次做业务都要判断该,如果为true说明不需要停止,如果为false就停......
  • 浅谈下javascript的proxy和reflect
    近日喜欢上了uniapp和vue,但看到相关程序代码中频繁出现了proxy和reflect的使用,于是进行了一番学习,现总结如下。Proxy和Reflect是ES6(ECMAScript2015)引入的两个新的特性,它......
  • java——spring boot集成kafka——kafka介绍以及概念理解
                  首先,让我们来看一下基础的消息(Message)相关术语:名称解释Broker消息中间件处理节点,⼀个Kafka节点就是⼀个broker,⼀个......
  • Java:得到指定年份、月份、周次的最后一天
    使用Java的工具类Calendar通过Calendar可以进行很多的日期操作/***得到指定年份的最后一天*@paramyear*/publicstaticvoidgetLastDayOfYea......
  • java——spring boot集成kafka——消息队列的流派
                   ......
  • 关于 Javascript 的几种继承
    原型链的概念:原型链通俗易懂的理解就是可以把它想象成一个链条,互相连接构成一整串链子而原型链中就是实例对象和原型对象之间的链接每个函数都有一个prototype属性,这个p......
  • 【java】动态修改日志级别
    背景开发过程中,为了方便问题快速定位,都会在代码中增加相关日志生产环境中,为了减少日志输出量,需要提高日志级别,节约资源。如果能动态修改日志级别,当出现问题时,动态降低......
  • 【Java Pro】001-Java基础:面向对象
    【JavaPro】001-Java基础:面向对象文章目录​​【JavaPro】001-Java基础:面向对象​​​​一、面向对象​​​​1、什么是对象​​​​现实生活中的对象与程序中的对象​​......
  • Java 集合 为什么重写 HashCode 和 equals
    #Java集合为什么重写HashCode和equals>Object源码中的HashCode和equals方法:>>```>publicnativeinthashCode();>>publicbooleanequals(Objectobj){>......
  • JavaScript Modal Image
    <!DOCTYPEhtml><html><head><title>JavaScriptModalImage</title></head><styletype="text/css"> .modal{ position:fixed; z-index:1......