Java基础_我又开始了_day03

一、面向对象

嗯?还没有对象?来帮你new一个,嘿嘿嘿嘿,开玩笑呢!
面向对象的简单理解,就是给你一个菜谱,你对着菜谱做菜,你今天做,明天做,后天做,只要是按着这个菜谱来做的,就是按照他的规则来,菜谱就是模板,而做出来的菜就是实例,实例是按照模板出来的,不管如何,他总是和模板相似,这其实就是面向对象的一个过程。而面向对象的三大基本特点:封装、继承、多态,我们来一一理解。

  • 封装
    • 简单来讲,封装就是一个模板,菜谱就是,它是高级大厨师封装出来的模板,给不会烧菜的小白做参考
  • 继承
    • 这点,可以看作是你用菜谱做菜,不管如何,你要用到里面加调料的步骤,这就是继承
  • 多态
    • 这个最好理解,就是你按照i菜谱做菜,可能真的是小白,第一次勉强做出来了,第二次…第无数次,可能每一次都不一样,而菜谱确是没有变的,这就是多态。

二、一个小小的尝试

  • 创建一个菜谱类Recipe,同时具有一些属性,分别为菜名name和菜的内容content
    class Recipe{
        public String name;
        Public String content;
    }
    
  • 创建一个实例,炒菜(比如:xxx)
    Recipe xxx = new Recipe();
    

三、关键内容

刚刚我们尝试了一下,创建一个菜谱类,并包含两个字段,可以简单理解为类的属性,这里我们介绍定义在类中的方法,其实可以简单理解为C语言中的函数(ps:说的不是很谨慎,大概可以这样理解)

  • 方法

    修饰符 方法返回类型 方法名(方法参数列表) {
        若干方法语句;
        return 方法返回值;
    }
    

    关于修饰符,之前有提到过的
    public 公共的 允许外部调用
    private 私有的 不允许外部调用
    protected 受保护的 不允许外部调用,允许子类调用

  • 方法的传参
    我们在定义方法时,通常需要考虑时候要给这个方法传递参数,这一点很重要,而且在设计完方法后,调用时要对应使用。

    public void setNameAndAge(String name, int age){
        ...
    }
    

    在使用这个方法时,务必要注意参数的类型

    • 可变参数 (用类型...定义)
      关于这个可变参数,简单理解就是参数可以接受一个数组,从而实现可变参数,注意,务必将属性设置为数组,否则接收参数就会错误!
      public void setName(String... name){
          ...
      }
      
  • 构造方法
    不知你是否有过疑惑,刚刚实例化是怎么操作的?为什么可以这样?

    Recipe xxx = new Recipe();
    

    其本质原理是编译器会默认生成一个构造方法,其本质长这个样子

    class Recipe{
        public String name;
        Public String content;
    
        public Recipe(){
    
        }
    }
    

    那么,编译器会自动默认一个,我们可以自己写一个麻?答案是可以的,而且还可以写参数哦,这样就可以实现使用类实例化时就给对象赋一个初始值哦。(ps:若是改变了构造方法,编译器就不会自动创建一个,这样我们在使用中要注意若是我们改变构造方法,让其变为可以接受参数的构造方法,原本不传参数的构造方法就失效了哦,要使用也很简单,再写一遍不就好了,哈哈哈,看下面代码部分。)

    class Recipe{
            public String name;
            Public String content;
    
            public Recipe(){
    
            }
            public Recipe(String name){
                this.name = name;
            }
        }
    
  • 方法的重载
    通俗来说就是方法名相同,但各自所需传递的参数不同,从而实现不同的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值