面向对象

面向对象

  1. 面向对象思想该数:当需求单一,或者简单时,我们一步步去操作没有问题,并且效率挺高。可是随着需求的更改,功能的增多, 发现需要面对 每一个步骤很麻烦,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据功能不同,进行不同的封装,功能类似的封装在一起,这样结构都清晰了很多。用的时候找到对应的类就可以了。这就是面向对象的思想。

  2. 面向对象思想特点:

    2.1 是一种更符合我们思想习惯的思想

    2.2 可以将复杂的事情简单化

    2.3 将我们从执行者变成指挥者

  3. 面向对象的特征:

    封装

    继承

    多态

  4. 面向对象开发就是不断的创建对象,使用对象,指挥对象做事情。

  5. 类和对象的概念

    a: 类 :是一组相关的属性和行为的集合

    b: 对象:是该类事物的具体体现

  6. 定义类就是定义类的成员(成员变量和成员方法)

  7. 定义一个学生类

    public class Student {
        String name="张三";
        int age   = 15;
        char sex='男';
        public static void eat(){
            System.out.println("吃饭");
        }
    
        public static void playGame() {
            System.out.println("玩游戏");
        }
        public static void study(){
            System.out.println("学习");
        }
    }
    
  8. 学生类的使用

    8.1 文件名: 在一个Java文件中写两个类:一个基本类,一个测试类

    8.2 创建对象使用

    8.3 创建对象格式:类名 对象名 = new 类名();

    8.4 如何使用成员变量呢 格式:对象名.变量名

    8.5 如何使用成员方法 格式:对象名.方法名

    public class Test {
        public static void main(String[] args) {
            Student student = new Student();
            int age = student.age;
            String name = student.name;
            char sex = student.sex;
            System.out.println(name);
            System.out.println(age);
            System.out.println(sex);
            student.eat();
            student.playGame();
            student.study();
        }
    }
    
  9. 成员变量和局部变量的区别

    9.1 在类中的位置不同

    ​ 成员变量:在类中方法外

    ​ 局部变量:在方法定义中或者方法声明上

    9.2 在内存中的位置不同

    ​ 成员变量:在堆内存

    ​ 局部变量:在栈内存

    9.3 生命周期不同

    ​ 成员变量:随着对象的创建而创建,随着对象的消失而消失

    ​ 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

    9.4 初始化值不同

    ​ 成员变量:有初始化默认值

    ​ 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

    ​ 注意:局部变量的名称可以和成员变量的名称一样,在方法中使用的时候,采用就近原则

  10. 参数传递

    10.1 Java中的参数传递问题

    ​ 基本类型:形式参数的改变不影响实际参数

    ​ 引用类型:形式参数的改变直接影响实际参数

    10.2 方法的参数是类名

    ​ 如果你看到了一个方法的形式参数是一个类 类型(引用类型),这里其实需要的是该类的对象

  11. 匿名对象

    11.1 匿名对象就是没有名字的对象

    11.2 匿名对象的应用场景

    ​ a:调用方法,仅仅只调用一次的时候

    ​ b:匿名对象可以作为实际参数传递

  12. 封装

    12.1 封装概述:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

    12.2 封装好处

    ​ a:隐藏实现细节,提供公共的访问方式

    ​ b:提高了代码的复用性

    ​ c: 提高了安全性

    12.3 封装原则

    ​ a: 将不需要对外提供的内容都隐藏起来。

    ​ b:把属性隐藏,提供公共方法对其访问。

  13. private关键字

    a: 是一个权限修饰符

    b: 可以修饰成员变量和成员方法

    c:被其修饰的成员只能在本类中被访问

  14. 使用封装来完善学生类

    public class Student {
        private String name="张三";
        private int age   = 15;
        private char sex='男';
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public char getSex() {
            return sex;
        }
    
        public void setSex(char sex) {
            this.sex = sex;
        }
    
     public static void eat(){
            System.out.println("吃饭");
        }
    
      public   static void playGame() {
            System.out.println("玩游戏");
        }
      public static void study(){
            System.out.println("学习");
        }
    }
    
  15. 测试学生类

    public class Test {
        public static void main(String[] args) {
            Student student = new Student();
             student.setAge(23);
            student.setName("李四");
            student.setSex('男');
            int age = student.getAge();
            String name = student.getName();
            char sex = student.getSex();
            System.out.println(name);
            System.out.println(age);
            System.out.println(sex);
            student.eat();
            student.playGame();
            student.study();
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值