欢迎光临,了解微信小程序开发,就上易用通!

【后端】java基础(5.1)java高级基础之对象

发布:2018-01-24 15:58浏览: 来源:网络 作者:tianshu

我们常常听到java是面向对象语言,那么这个对象,到底是什么呢?今天我们正式开始学习java的对象。
所谓的对象,就是一种数据的结构。万事万物皆对象,我们可以利用对象在计算机中描述万事万物,首先我们来创建一个对象:

  • 创建一个类,类名叫做Person

    
    		
    1. public class Person {
    2. private String name;//姓名
    3.  
    4. private int age;//年龄
    5.  
    6. private String gander;//性别
    7.  
    8. private int height;//身高
    9.  
    10. private int weight;//体重
    11.  
    12. public void eat(){
    13. this.weight += 1;
    14. }
    15.  
    16. public String getName() {
    17. return name;
    18. }
    19.  
    20. public void setName(String name) {
    21. this.name = name;
    22. }
    23.  
    24. public int getAge() {
    25. return age;
    26. }
    27.  
    28. public void setAge(int age) {
    29. this.age = age;
    30. }
    31.  
    32. public String getGander() {
    33. return gander;
    34. }
    35.  
    36. public void setGander(String gander) {
    37. this.gander = gander;
    38. }
    39.  
    40. public int getHeight() {
    41. return height;
    42. }
    43.  
    44. public void setHeight(int height) {
    45. this.height = height;
    46. }
    47.  
    48. public int getWeight() {
    49. return weight;
    50. }
    51.  
    52. public void setWeight(int weight) {
    53. this.weight = weight;
    54. }
    55. }

上述代码,我们就创建了一个简单的,描述人的对象了,在这个对象中,我们赋予了这个人一些属性,有姓名,年龄,性别,身高,体重。还赋予了这个人一个吃的行为,在这个行为中,我们指定了吃一次体重增加1,当然,以上仅作为例子,我们还可以继续给它赋予其它属性和其它行为。然后就是下面的getter和setter方法是必不可少的,两个方法的是用来方便我们外部程序来操作这个对象的。 那么,当我们创建了这么一个Person对象之后,我们如何来调用呢?

  • 使用对象: 继续创建一个类,在里面写上main方法
    
    		
    1. public static void main(String[] args) {
    2. Person person1 = new Person();
    3. person1.setName("大妖怪");
    4. person1.setAge(100);
    5. person1.setGander("男");
    6. }

在这里我们调用Person类的时候需要导包。然后就和创建基本数据类一样,我们需要给我们创建的对象起个名字,这里我们叫它person1,然后后面new Person()是实例化这个对象的意思。 这样,我们就得到了person1这个Person对象。人,只是某些拥有相同属性和行为的一个类别的总称,而你,是人这个类别里其中一个具体的个体。那么person1和Person之间的关系就好比你和人的关系一样。当我们获得了Person类下的具体实例person1之后,我们便可以调用里面的get方法和set方法对里面的属性进行操作,于是下面的内容便是我给person1这个实例的name设为“大妖怪”,年龄设为100,性别设为男。那么,现在这个对象里面的属性已经有值了,我们如何来调用呢?对,getter方法:


  1. Person person1 = new Person();
  2. person1.setName("大妖怪");
  3. person1.setAge(100);
  4. person1.setGander("男");
  5.  
  6. System.out.println(person1.getName());
  7. System.out.println(person1.getAge());
  8. System.out.println(person1.getGander());

那么,有人会说,我们吃的动作怎么玩呢?别急,我们先来吃十次,看看体重变化:


  1. Person person1 = new Person();
  2. person1.setName("大妖怪");
  3. person1.setWeight(10);
  4. System.out.println(person1.getWeight());
  5. for (int i = 0; i < 10; i++) {
  6. person1.eat();
  7. }
  8. System.out.println(person1.getWeight());

刚刚我们通过setter方法来给对象的进行传值,你会发现,好像一个个setter是不是很麻烦,特别是在参数多的情况下代码非常冗杂,因此诞生了我们的构造函数(构造器): 我们在Person类中加入这一一段代码:


  1. public Person(String name, int age, String gander, int height, int weight) {
  2. super();
  3. this.name = name;
  4. this.age = age;
  5. this.gander = gander;
  6. this.height = height;
  7. this.weight = weight;
  8. }

上面这个叫做有参构造函数,加上之后,我们再创建对象的时候,就可以在实例化的时候就给对象赋值了:


  1. Person person1 = new Person("大妖怪", 100, "男", 100, 100);
  2. System.out.println(person1.getName());

我们加了有参构造函数之后,你会发现我们再像之前那样去实例化对象,一个个赋值的时候就会报错了,但是有的人他不想一次性赋值,怎么办哇,因此,我们神奇的java又给我们提供了无参构造函数,同样,我们只需要在代码中加上这么一段:


  1. public Person() {
  2. super();
  3. }

你就会发现,两种方法都行了。

当然,上述的getter,setter还有无参和有参构造函数看起来那么大一堆,其实我们不用自己写的,eclipse可以帮我们生成:

  • 生成getter,setter方法:
    • 在对象中右击选择sourse
    • Generate Getters and setters…
    • 弹出这么一个界面我们选择select All之后点Ok即可 【后端】java基础(5.1)java高级基础之对象(图1)
  • 生成有参构造函数:
    • 在对象中右击选择sourse
    • Generate Constructor using Fiedls…
    • 然后会弹出一个节目,之后生成getters setters一样操作
  • 生成无参构造函数:
    • 在对象中右击选择sourse
    • Generate Constructor from superclass…
    • 然后会弹出一个节目,之后生成getters setters一样操作

好了,学到这,你应该能领悟到Java对象的概念了,没对象的赶紧回家new一个去吧。





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。