Java study(面向对象和封装)

本文深入探讨Java的面向对象编程,包括面向对象的基本特征——封装、继承和多态的原理和应用。同时,讲解了类与对象的概念、关系,以及如何定义和使用类,创建及操作对象。重点阐述了封装性,强调使用private修饰成员变量并使用getter和setter方法。此外,还介绍了this关键字的作用和构造方法的使用。
摘要由CSDN通过智能技术生成

1、面向对象

      面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节
      面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。

import java.util.Arrays;

public class ArrayPrint01 {
   
    public static void main(String[] args) {
   
        int[] array = {
   10,20,30,40,50};
        //要求打印格式为[10,20,30,40,50]
        //使用面向对象过程,每一个步骤细节都要亲力亲为

        //System.out.println("hello world");
        System.out.print("[");
        for (int i = 0; i <array.length ; i++) {
   
            if(i == array.length-1){
   
                System.out.println(array[i]+"]");
            }else {
   
                System.out.print(array[i]+" ,");
            }
        }

        System.out.println("=================");
        //使用面向对象
        //找一个JDK给我们提供好的Arrays类
        //其中有一个toString方法,直接就能将数数组变成想要的格式的字符串
        System.out.println(Arrays.toString(array));
    }
}

2、面向对象的三个基本特征:封装、继承和多态

2.1封装

      封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

      在Java中类中成员的属性有:public, protected, < default >, private,这四个属性的访问权限依次降低。

2.2继承

      面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

  • 通过继承创建的新类称为“子类”或“派生类”。

  • 被继承的类称为“基类”、“父类”或“超类”。

2.3多态

      多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

      实现多态,有二种方式,覆盖,重载。

  • 覆盖,是指子类重新定义父类的虚函数的做法。

  • 重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

3、类和对象

3.1什么是类

      类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。

  • 属性:就是该事物的状态信息
  • 行为:就是该事物的能够做什么

3.2什么是对象

      对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。

3.3类和对象的关系

  • 类是对一类事物的描述,是抽象的。
  • 对象是一类事物的实例,是具体的。
  • 类是对象的模板,对象是类的实例。

4、类的定义

4.1 事物与类的对比

   现实世界的一类事物
      属性:事物的状态信息
      行为:事物能够做什么
  Java中用class描述事物也是如此
      成员变量:对应事物的属性
      成员方法:对应事物的行为

4.2 类的定义格式

   定义一个类,用来模拟“学生”事物。其中有两个组成部分
   属性(是什么):
         姓名
         年龄
   行为(能做什么)
         吃饭
          睡觉
          学习
对应到Java的类当中
   成员变量(属性):
         String name;//姓名
          int age;//年龄
    成员方法(行为):
          public void eat(){};//吃饭
          public void sleep(){};//睡觉
          public void study(){};//学习
注意事项:
      1.成员变量是直接定义在类当中的,在方法外边
      2.成员方法不要写static关键字

public class Student {
   

	String name;//姓名
    int age;//年龄
    //成员方法
    public void eat(){
   
        System.out.println("eat eat eat");
    }
    public void sleep(){
   
        System.out.println("sleep sleep sleep");
    }
    public void study(){
   
        System.out.println("study study study");
    }

}

5、对象的创建及其使用

      通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
      1.导包,也就是指出需要使用的类,在什么位置。
            import 包成名.类名称
            import demo1.Student;
      对于和当前类属于同一个包的情况,可以省略导包语句不写。
      2.创建,格式:
            类名称 对象名 = new 类名称();
            Student stu = new Student();
      3.使用,分两种情况
            使用成员变量:对象名.成员变量名
            使用成员方法:对象名.成员方法名(参数)
      (也就是说,想用谁,就用对象名点儿谁)
注意:
       如果成员变量没有进行赋值,那么将

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值