栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础快速入门--面向对象(基础)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础快速入门--面向对象(基础)

类与对象
  • 看一个养猫问题
    张老太养了两只猫:一只名字叫小白,今年三岁,白色。还有一只叫小花,今年一百岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色。如果用户输入的小猫名错误,则显示张老太没有这只猫猫

    • 使用现有的技术解决

      public class Object01 {
          public static void main(String[] args) {
              
      
              //一、单独变量来解决 => 不利于数据的管理(把一只猫的信息拆解)
              //第一只猫信息
              String cat1Name = "小白";
              String cat1Color = "白色";
              int cat1Age = 3;
      
              //第二只猫信息
              String cat2Name = "小花";
              String cat2Color = "花色";
              int cat2Age = 100;
      
              //二、数组 => (1)数据类型体现不出来
              // (2)只能通过[下标]获取信息,造成变量名字和内容的对应关系不明确
              // (3) 不能体现猫的行为
              String[] cat1 = {"小白", "3", "白色"};
              String[] cat2 = {"小花", "100", "花色"};
          }
      }
      
      
      • 现有技术解决的缺点分析
        • 不利于数据的管理
        • **效率低======>引出我们的新知识:类与对象(OOP)**
  • 一个程序就是一个对象,有很多事务(对象[属性,行为])

  • 类与对象的关系示意图

    • 对上图说明
      • 类就是数据类型,比如Cat
      • 对象就是一个具体的实例
  • 快速入门-面向对象的方式解决养猫问题

    public class Object01 {
        public static void main(String[] args) {
            
    
            //使用oop面向对象解决
            //实例化一只猫(创建一只猫对象)
            
            Cat cat1 = new Cat();
            cat1.name = "小白";
            cat1.age = 3;
            cat1.color = "白色";
            Cat cat2 = new Cat();
            cat2.name = "小花";
            cat2.age = 100;
            cat2.color = "花色";
    
            //怎么访问对象的属性呢
            //第一只猫信息:小白 3 白色
            //第二只猫信息:小花 100 花色
            System.out.println("第一只猫信息:" + cat1.name + " " + cat1.age + " " + cat1.color);
            System.out.println("第二只猫信息:" + cat2.name + " " + cat2.age + " " + cat2.color);
        }
    }
    
    
    
    class Cat {
        //属性
        String name;//名字
        int age;//年龄
        String color;//颜色
    
    }
    
  • 对象在内存中存在的形式

  • 属性/成员变量

    • 基本介绍

      • 从概念或叫法上看:成员变量 = 属性 = field(即 成员变量是用来表示属性的)

      • 属性时类的一个组成部分,一般是基本数据类型,也可以是引用类型(对象,数组)

        • class Car {
              String name;//属性,成员变量,字段 field
              double price;
              String color;
              String[] master;//属性可以是基本数据类型,也可以是引用数据类型(对象,数组)
          }
          
      • 注意事项和细节说明

        • 属性的定义语法同变量,示例:访问修饰符 属性类型 属性名;
          • 访问修饰符:控制属性的访问范围,有四种访问修饰符:public proctected default private
        • 属性的定义类型可以为任意类型,包含基本类型和引用类型
        • 属性如果不赋值,有默认值,规则和数组一致
  • 如何创建对象

    • 先声明在创建
      Cat cat;//声明对象
      cat = new Cat();//创建对象
    • 直接创建
      Cat cat = new Cat();
  • 如何访问属性

    • 基本语法
      • 对象名.属性名
        cat.name;
        cat.age;
        cat.color;
  • 类与对象的内存分配机制

    • java内存的结构分析
      • 栈:一般存放基本数据类型(局部变量)
      • 堆:存放对象(Cat cat,数组等)
      • 方法区:常量池(常量,比如字符串),类加载信息
    • java创建对象的流程简单分析
      Person p = new Person();
      p.name = “jack”;
      p.age = 10;
      • 先加载Person类信息(属性和方法信息,只会加载一次)
      • 在堆中分配空间,进行默认初始化(看规则)
      • 把地址赋值给p,p就指向对象
      • 进行指定初始化
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号