java面向对象基础

面向对象思想

  • 面向过程
    • 第一步
    • 第二步
    • 自己慢慢实现
  • 面向对象
    • 找到对象(第一步 第二步)
    • 封装到对象中 由对象来实现第一步 第二步
  • 举例
    • 买菜(面向对象)
      • 1找卖菜的老大妈
        • 大妈种菜
        • 洗干净
      • 2给钱得到菜
    • 买菜(面向过程)
      • 1自己种菜
      • 2自己洗干净
      • 3得到菜
  • 面向对象思想特点
    • 1 是一种更符合我们思想习惯的思想
    • 2 可以将复杂的事情简单化
    • 3 将我们从执行都变成了指挥者
    • 4 就是将过程封装下 直接面向对象
  • 面向对象的开发
    • 就是不断的创建对象 使用对象 指挥对象做事情
  • 面向对象的设计
    • 其实就是在管理和维护对象之间的关系
  • 面向对象的特征
    • 封装
    • 继承
    • 多态

类与对象概述

  • java中最基本的单位是类 java中用class描述事物也是如此
    • 成员变量:就是事物属性
    • 成员方法:就是事物的行为

    • 定义类其实就是定义类的成员
    • 成员变量:和以前定义的局部变量(方法中)是不一样的 在类中 方法外
    • 成员方法:在类中定义的方法 没有static
  • 类和对象的概念
    • 类 是一组相关属性和行为的集合
    • 对象 是类事物的具体体现 也可以说是类的实例
    • 举例
      • 类:学生
      • 对象:学生中的一个对象

学生类的定义

  • A学生类
  • B案例演示
    • 属性:姓名 年龄 身高
    • 行为:学习 睡觉 上厕所

成员变量和局部变量的区别

  • A在类中的位置不同
    • 成员变量:在类的方法外
    • 局部变量:在方法的声明上或者方法定义中
  • B在内存中的位置不同
    • 成员变量:在堆内存中(成员变量属于对象 对象进堆内存)
    • 局部变量:在栈内存中(局部变量属于方法 方法进栈内存)
  • C生命周期不同
    • 成员变量:随着对象的创建而存在 随着对象的消失而消失
    • 局部变量:随着方法的调用而存在 随着方法的调用完毕而消失
  • D初始化值不同
    • 成员变量:成员变量有初始化的值
    • 局部变量:没有默认的初始化 必须定义 赋值 才能使用
  • 注意事项:
    • 局部变量名称可以和成员变量的名称一样 在方法中使用的时候 就近原则
    • 基本数据类型: 整数类型,byte short int long 浮点类型,float double 字符类型,char 布尔类型:boolean
    • 引用数据类型:数组 类 接口 枚举

匿名对象

  • 匿名格式
    • new 类();
  • 匿名对象调用方法格式
    • new 类().方法();
  • 匿名对象 适用于一次创建一次使用,多次使用不适合
  • 匿名对象 可以作为方法的参数

封装的概述

  • A封装概述
    • 隐藏对象的属性和实现的细节 仅对外提供公共访问方式
  • B封装好处
    • 隐藏实现细节 提供公共的访问方式
    • 提高代码的复用性
    • 提高安全性
  • C封装原则
    • 将不需对外提供的内容都隐藏起来
    • 把属性隐藏 提供公共方法对其访问

private关键字概述和特别、

  • 1 private关键字特点
    • 是一个权限修饰符
    • 可以修改成员变量 和 成员方法
    • 被修改的成员 只能在本类中被访问
  • 2安全演示

this关键字

  • 1,this关键字特点
    • 代表当前对象的一种引用
  • 2,案例演示
    • this的应用场景
    • 用来区分 成员变量 和 局部变量重名
    • public void setAge(int age){ this.age = age;}

手机类代码及其测试

    class Test{

            public static void main(String[] args){

                Phone p1  = new Phone();
                p1.setBrand("小米");
                p1.setPrice(5555);
                System.out.println(p1.getBrand()+" " +p1.getPrice());

                p1.call();
                p1.sendMessage();
                p1.playGame();

            }
    }

    /*
        手机类
            属性:品牌brand 价格price
            行为:打电话call  发短信sendMessage 玩游戏playGame()
    */
    class Phone{
        //属性私有 提供set和get方法
        private String brand;
        private int price;

        //设置品牌 参数 String 
        public void setBrand(String brand){
            this.brand = brand;
        }
        //获取品牌 返回类型 String
        public String getBrand(){
            return this.brand;//this.可以省略
        }

        //设置价格 参数 int price
        public void setPrice(int price){
            this.price = price;
        }
        //获取价格
        public int getPrice(){
            return price;
        }
    //成员方法 打电话 call
    public void call(){
        System.out.println("打电话");

    }

    //发短信
    public void sendMessage(){
        System.out.println("发短信");
    }

    //玩游戏 
    public void playGame(){
        System.out.println("玩游戏 ");
    }


    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值