Java连载38-对象封装性格式、构造方法

2019-10-12 08:29:26来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

 

 


原文链接:https://www.cnblogs.com/ruigege0000/p/11651528.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【Java基础】让编码问题不再困惑你

下一篇:CAS你知道吗?原子类AtomicInteger的ABA问题谈谈?