当前位置 : 主页 > 编程语言 > java >

新手了解java 类,对象以及封装基础知识

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 1、类 2、对象 3.方法的重载 什么是方法的重载 4、构造器 什么是构造方法 构造方法语法: 构造方法特点 5.this this指代当前对象,即哪个对象调用就指代哪个对象 6.封装 封装的作
目录
  • 1、类
  • 2、对象
  • 3.方法的重载 什么是方法的重载
  • 4、构造器 什么是构造方法
    • 构造方法语法:
    • 构造方法特点
  • 5.this this指代当前对象,即哪个对象调用就指代哪个对象
    • 6.封装
      • 封装的作用
      • 怎么封装
      • 步骤
    • 总结

      1、类

      什么是类

      ​ 类是具备某些共同特征的实体的集合,是对所具有相同特征实体的抽象。

      Java中定义类的基本语法

      访问修饰符 class 类名{}

      public class Student{
          //定义了一个学生类
      }
      

      成员变量

      成员变量就是对象所拥有的属性

      基本语法

      访问修饰符 [可选修饰符] 数据类型 变量名称;

      public class Student{
          //定义了一个学生类
          public int age;
          String name;
          protected long tel;
          private double a;
      }
      

      方法

      放法可以用来描述对象动作

      基本语法

      访问修饰符 [可选修饰符] 数据类型 方法名称(参数列表){方法体};

      public class Student{
          public void print(){
             System.out.print("方法") 
          }
          public int sum(int a, int b){
              return a + b;
          }
      }
      

      2、对象

      什么是对象

      对象就是类的实例

      对象的创建

      基本语法

      类型 对象名称 = new 类型();

      public class StudentTest{
          public static void main(String[] args){
              Student stu = new Student();
          }
      }
      

      3.方法的重载 什么是方法的重载

      方法的重载就是在一个类当中存在多个同名的方法;

      这些方法遵循以下规则

      • 方法名相同
      • 方法的参数列表不同
        • ​ 1)参数的个数不同
        • ​ 2)参数的类型不完全相同,包括数据类型以及数据类型的顺序
        • ​ 3)与参数名称无关
      • 与方法的返回值类型、访问修饰符无关
      public class Student{
          /**
          *定义一个求和方法根据传入参数的值进行求和,并返回结果
          */
          public int sum(int a,int b){
              return a + b;
          }
          //参数的个数不同
          public int sum(int a,int b,int c){
              return a + b + c;
          }
          //参数列表的类型不同
          public int sum(int a,short b){
              return a + b;
          }
          //参数列表类型顺序不同
          public int sum(short a,int b){
              return a + b;
          }
      }
      

      4、构造器 什么是构造方法

      • 构造方法的结构和普通方法类似,但是和普通方法完全不同两个代码块;
      • 构造方法也是方法,意味着使用了构造方法,方法会执行,也能完成功能
      • 构造方法就是一个代码块【就是一个结构 ,构造方法和 字段 方法一样都是一个类中的成员之一
      • 构造方法也该存在于类的结构体中

      构造方法语法:

      • 构造方法的名字和类名完全一致(包括大小写完全一致)
      • 没有返回值类型(void也不行)
      • 构造方法方法体不能返回任何的值(即不能在方法体中return 值)
      • 其他的和普通方法类似 ,可以有修饰符(public、protected、private、默认),可以有形参列表
      • 构造方法必须有方法体
      • 构造方法不能有任何非访问性质的修饰符修饰,例如 static、final、synchronized、abstract等都不能修饰构造方法。

      注意new Student() 这个整体既是一个Student对象,又是调用的Student的无参数构造方法

      构造方法特点

      1.类中构造方法特点:

      • ① 每一个类中都至少有一个构造方法;
      • ② 如果没有看到(显示的),那么存在一个隐式的无参数的构造方法;
      • ③ 如果一个类中有显示的构造方法,那么隐式的无参的构造方法就不存在了;

      构造方法的作用

      在创建对象的同时给对象的成员变量赋值(初始化工作)

      模板语法

      public class 类名{
      成员变量  (字段); 
      构造方法(有参、无参);
      方法 (具体的一个功能行为); 
      }
      
      public class Student{
          public String name;
          public int age;
          /**
          无参构造
          */
          public Student(){}
           /**
          有参构造
          */
          public Student(String name,int age){
          }
      }
      

      5.this this指代当前对象,即哪个对象调用就指代哪个对象

      this****用途:

      • 解决局部变量和成员变量的二义性
      • 在本类之间 ,构造方法之间的相互调用 this()调用无参数的构造方法,this(…)可以添加参数,表示调用有参数的构造方法
      • this作为参数传递,this作为返回值
      public class Student{
          public String name;
          public int age;
          /**
          无参构造
          */
          public Student(){}
           /**
          有参构造
          */
          public Student(String name,int age){
              this();//调用构造器,只能写在第一句
              this.name = name //调用属性
          }
      }
      

      6.封装

      封装:指的是将类中不想被外界访问的成员私有化。

      封装的作用

      封装是为了保护内部数据的安全:

      1.不希望在外部类中随意访问对象的成员变量

      2.达到权限要求的才能访问

      怎么封装

      1.如何控制程序中的访问 ?

      通过给类中的成员(字段,方法,构造方法)添加访问权限修饰符来实现封装(访问控制)

      2.什么是访问权限:简单的认为访问权限就是不同级别的人能够干不同级别的事,不同级别的人能看到的页面是不同的

      步骤

      • 1. 私有化成员变量(用private修饰成员变量)
      • 2. 为每一个成员变量提供合理的
        • **getXxx()**方法 获取成员变量的值,如果当前成员变量类型是boolean类型,将getXxx()改为 isXxx()
        • **setXxx(…)**方法 设置成员变量的值
      • 3. 提供一个无参构造,和全参的构造
      • 4. 该类用public修饰
      public class Student{
          private String name;
          private int age;
          public String getName(){
             return this.name;
          }
          public void setName(String name){
              this.name = name;
          }
            public String getAge(){
             return this.age;
          }
          public void setAge(String age){
              this.age = age;
          }
      }
      

      总结

      本篇文章就到这里了,希望可以给你提供帮助,也希望您能多多关注自由互联的更多内容!

      网友评论