Java笔记-面向对象(上)

面向对象(上)

Java是面向对象的程序设计语言,Java语言提供了定义类、成员变量、方法等最基本的功能。类可被认为是一种自定义的数据类型,可以使用类来定义变量,所用使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一对象的共同特征,而对象则是类的具体存在,Java程序使用类的构造器来创建该类的对象。

这里关于什么是面向对象?我看书看了好长也没看懂,后面看视频里面的讲解让我稍微有所体会:

辩证地思考:拿面向过程来比较,像之前所学过的C语言,它就是一门面向过程的语言,要想实现某些功能,我们需要自己一行行码出来,而对于面向对象的语言,相当于比面向过程的语言多了很多功能,能让我们很顺利的实现我们所想得到的功能,其实放开了说,C也不是没有面向对象的功能,例如C里面的scanf()函数和printf()函数,支持我们调用,而不用我们自己去写,只是所涉及的面向对象的功能比较少而已,因此要想学好面向对象的语言,一定要熟悉掌握和使用这些可以实现面向对象的方法。

Java也支持面向对象的三大特征:封装、继承和多态,Java提供了private、protected、public这三个访问控制修饰符来实现良好的封装,提供了extends关键字来让子类继承父类,子类继承父类就可以继承到父类的成员变量和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段,除此之外,也可通过组合关系来实现这种复用, 从某种程度上来看,继承和组合具有相同的功能,使用继承关系来实现复合时,子类对象可以直接赋给父类变量,这个变量具有多态性,编程更加灵活;而利用组合关系来实现复用时,则不具备这种灵活性。

  • 类和对象

    Java是面向对象的程序设计语言,类是面向对象的重要内容,可以把类当成一种自定义类型,可以使用类来定义变量,这种类型的变量统称为引用变量,也就是说,所有类都是引用变量。

  • 定义类

    面向对象的程序设计语言有两个重要概念:类和对象,其中类是某一批对象的抽象,可以把类理解成某种概念,或者某种描述;对象才是一个具体存在的实体,从这个意义上来看,日常所说的人,其实都是人的实例,而不是人类。类是对象的“模板”,对象是类的“实体”。

    Java语言是面向对象的程序设计语言,类和对象是面向对象的核心,Java语言提供了对创建类和创建对象的语法支持。

    Java语言里定义类的简单语法如下:

    [修饰符] class 类名
    {
        零到多个成员变量..
        零到多个方法...
    }
    

从上面的语法格式中,修饰符可以是public、final、abstract,或者完全忽略这三个修饰符,类名只要是一个合法的标识符即可,但这仅仅满足的是Java的语法需求;如果从程序的可读性来看,Java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分割符。

对于一个类定义而言,可以包含两种最常见的成员:成员变量和方法,成员都可以定义零个或者多个,如果成员都只定义零个,就是定义了一个空类,这没有太大的实际意义。

类里各成员之间的定义顺序没有任何影响,各成员之间可以相互调用,但需指出的是,static修饰的成员不能访问没有static修饰的成员。

成员变量用于定义该类或该类的实例所包含的状态数据,方法则用于定义该类或该类的实例的行为特征或者功能实现。构造器用于构造该类的实例,Java语言通过new关键字来调用构造器,从而返回该类的实例。

构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此,Java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。

  • 定义成员变量的语法格式如下:

      [修饰符] 类型 成员变量名 [=默认值]
    

    1.修饰符:修饰符可以省略,也可以是public、protected、private、static、final,其中pubic、protected、private三个最多只能出现其一,可以与static 、final组合起来修饰成员变量。

    2.类型:类型可以是Java语言允许的任何数据类型,包括基本类型和现在介绍的引用类型。

    3.成员变量名:成员变量名只要是一个合法的标识符就OK,当然为了增强可读性,应定义为有意义的名字, 首字母大写其他字母小写。

    4.默认值:定义成员变量还可以指定一个默认值。

    • 定义方法的语法格式如下:

        [修饰符] 方法返回值类型 方法名(形参列表)
        {
            //由0到多条可执行性语句组合的方法体。
        }
      

      1.修饰符:public、protected、private、static、final,其中public、protected、private三个最多只能出现一个,abstract和final最多只能出现其中之一,它们可以与static组合起来修饰方法。

      2.方法返回值类型:返回值类型可以是Java语言中允许的任何有效数据类型,包括基本类型和引用类型;如果方法声明了返回类型,则方法体中要返回具体的类型,可通过return语句实现,该语句返回一个变量或者一个表达式,如果返回方法值类型 为void则无返回值。

      3.方法名:只要是一个合法的标识符就OK,当然为了增强可读性,应定义为有意义的名字, 首字母大写其他字母小写。

      4.形参列表:形参列表用于定义该方法可以接受的参数,形参列表由零组到多组“参数类型 形参名”组合而成,多组参数之间可以以,英文逗号隔开。行参类型和行参名之间以英文空格隔开。一旦在定义方法时指定了形参列表,则调用该方法时必须传入对于参数格式的参数值。

      方法体中多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总是先执行,排在方法体后面的语句总是后执行。

      static是一个特殊的关键字,它可用于修饰方法,成员变量等成员。static修饰的成员表明它属于这个类本身,而不属于该类的单个实例,因为通常把

      static修饰的成员变量和方法也称为类变量、类方法。不使用static修饰的普通方法、成员变量则属于该类的单个实例,而不属于该类。因为通常把不适用static修饰的成员和方法也称为实例变量、实例方法。而成员方法不能使用static修饰符。

      由于static的英文直译就是静态的意思,因此有时也把static修饰的成员变量和方法称为静态变量和静态方法,把不使用static修饰的成员变量和方法称为非静态变量和非静态方法。静态成员不能直接访问非静态成员。

  • 如何创建一个类(包含成员变量、成员方法、类方法)

    public class  ZYPC//类名称:智邮普创的首字母缩写ZYPC
    {
        //成员变量(属性)
        String houduan;//后端组用字符串表示
        String qianduan;//前端同上
        //成员方法
        public void qiand()
        {
            System.out.println("前端牛逼");
        }
        public void houd()
        {
            System.out.println("后端更牛逼!");
        }
        
    }
    

    在这里就是一个没有对象的类:ZYPC 包含了成员变量、成员方法。要想使用一个类就必须要有对象。

    创建对象分为三步:

    • 导包:应用import关键字来申明所使用的类的位置 ,如果要申明的类与现在的类在同一个包下,可以省略不写。
    • 创建:格式:类名称 对象名 =new 类名称();
    • 使用:使用格式和C语言的结构体相似,都为对象名.成员变量名或对象名.成员方法名()。
    public class ZYPC01
    {
        public static void main(String[] args)
        {
            import.包名.ZYPC(类名)//若ZYPC和ZYPC01位于同一个包下,则可以省略不写
            ZYPC h=new ZYPC();
            System.out.println(h.houduan);
            System.out.println(h.qinaduan);
            
        }
    }
    
  • 面向对象的三大特征

    封装、继承、多态。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值