zoukankan      html  css  js  c++  java
  • Java连载38-对象封装性格式、构造方法

    一、封装的步骤

    (1)所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中进行访问。

    (2)对外提供简单的操作入口,也就是说以后外部程序要想访问age属性的话,必须通过这些简单的入口才能进行访问。

    i.对外提供两个公开的方法,分别是set方法和get方法

    ii.修改属性的话,就使用set方法;访问属性的话,就使用get方法

    二、set方法的命名规范

    public void setAge(int a){
    
      age = a;
    
    }

    三、get的方法的命名规范

    public void setAge(int a){
    
      age = a;
    
    }

    四、注意点

    (1)setter and getter方法没有static关键字

    (2)有static关键字修饰的方法怎么调用:类名.方法名(实参);

    (3)没有static关键字修饰的方法怎么调用:引用.方法名(实参);

    举个例子,先写一个类,然后再调用它

    package com.bjpowernode.java_learning;
    
    ​
    
    public class User {
    
      //属于私有化
    
      private int age;
    
      //setter
    
      public void setAge(int a) {
    
        if (a<0 || a>150) {
    
          System.out.println("对不起您输入的年龄不合法");
    
          return;
    
        }else {
    
          age = a;
    
        }
    
      }
    
      //getter
    
      public int getAge() {
    
        return age;
    
      }
    
    }

    我们再编写函数来调用它

    package com.bjpowernode.java_learning;
    
    ​
    
    public class D38_object_encapsulation {
    
      public static void main(String[] args) {
    
        //闯将user对象
    
        User user = new User();
    
        user.setAge(1000);
    
        int age1 = user.getAge();
    
        System.out.println(age1);
    
        user.setAge(100);
    
        int age2 = user.getAge();
    
        System.out.println(age2);
    
      }
    
    }

    我们进行程序运行

    快捷键:我们在编写一个类的时候,将各个private属性写好了之后,在空白处点击右键-源代码-生成getter和setter即可,自动生成

    五、构造方法

    1.构造方法又被称为构造函数、构造器、Constructor

    2.构造方法语法结构:

     
    
    [修饰符列表] 构造方法名(形式参数列表){
    
      构造方法体;
    
    }

    3.回顾普通方法的语法结构:

    [修饰符列表] 返回值类型 方法名(形式参数列表){
    
      方法体;
    
    }

    4.对于构造方法来说,“返回值类型”是不需要指定的,并且也不能写void,只要写上void那么这个方法就成为了普通方法

    5.对于构造方法来说,构造方法的方法名必须和类型保持一致

    6.构造方法的作用是什么:

    构造方法存在的意义在于,通过构造方法的调用,可以创建对象。

    7.构造方法应该怎么调用?

    普通方法是这样调用的的:方法修饰符中有static的时候:类名.方法名(实参);方法修饰符列表中没有static的时候:引用,方法名(实参列表)

    new 构造方法名(实参列表)

    8.构造方法执行调用之后,有返回值吗?

    每一个构造方法执行结束之后都有返回值,但是这个“return 值;”这样的语句不需要写,构造方法结束的时候java程序自动返回值​。并且返回值类型是构造方法所在类的类型。由于构造方法的返回值类型就是类本身,所以返回值类型​不需要写。(我们可想而知为什么名称上要保持一致)

    六、源码:

    D38_object_encapsulation​.java

    User.java

    地址:

    https://github.com/ruigege66/Java/blob/master/D38_object_encapsulation.java

    https://github.com/ruigege66/Java/blob/master/User.java

    2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    简易发号SQL,可用于生成指定前缀自增序列--改进版
    关于【【故障公告】数据库服务器 CPU 近 100% 引发的故障(源于 .NET Core 3.0 的一个 bug)】IS NOT NULL测试
    简易发号SQL,可用于生成指定前缀自增序列,如订单号,生成优惠券码等
    [EntityFramework]记录Linq中如何比较数据库中Timestamp列的方法(如大于0x00000000000007D1的记录)
    [高并发]抢红包设计(使用redis)
    [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路--验证码
    [.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路---部署
    【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统 :1.技术简介之Mina连接
    Unity光晕剑效果的Shader简单实现
    Unity3D 调用Android与IOS的剪贴板
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11651528.html
Copyright © 2011-2022 走看看