• java之构造器


    1.构造方法的作用:在new创建对象时为其赋值。

    2.构造方法的分类:

    ①无参构造public 同类名(){},有参构造public 同类名(参数列表){语句}。

    ②构造方法没有方法名,没有返回值类型,因为构造方法在创建对象后,即进行弹栈。

    ③可以有多个构造方法,参照方法的重载。实际调用赋值时,必须与调用方法的实参类型和个数一致

     1 package com.oracle.demo02;
     2 
     3 public class Person {
     4     private String name;
     5     private int age;
     6     //构造方法  无参构造   同一个类中,方法名相同,参数的内容不同,方法的重载。
     7     //无参构造与有参构造同时写,在调用方法时,参数的赋值不同,调用无参和有参方法。
     8     public Person(){};
     9     //有参构造,在创建对象时调用有参构造
    10     public Person(String name,int age){
    11         this.name=name;//左边为调用对象,右边为赋值
    12         this.age=age;
    13     }
    14     // 设置属性和访问属性
    15     public String getName() {
    16         return name;
    17     }
    18 
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22 
    23     public int getAge() {
    24         return age;
    25     }
    26 
    27     public void setAge(int age) {
    28         this.age = age;
    29     }
    30 
    31 }
    View Code

    3.系统默认添加无参构造方法,所以在main中可以直接使用无参构造创建对象。但是只有有参构造时,无参构造无法使用。

    4.构造方法和一般方法的区别

    ①构造方法只在创建对象时调用一次,一般方法可以多次调用。

    ②构造方法在调用时只能赋值一次,需要修改成员属性时,使用set和get方法。

     1 class Person {
     2 //普通方法,此时有返回值类型,不属于无参构造
     3     void Person() {
     4     }
     5 }
     6 class PersonDemo {
     7     public static void main(String[] args) {
     8 //使用系统默认的无参构造创建对象,与上述Person()方法无关;        
     9 Person p = new Person();
    10     }
    11 }
     1 public class Animal {
     2     private String color;
     3     private String name;
     4 
     5     // 此时类中无任何构造方法时,系统会给这个类默认添加无参构造方法
     6     // public Animal(){};
     7     // 当类中,只有有参构造方法存在时,无参构造方法无法使用。
     8     public Animal(String color, String name) {
     9 
    10     }
    11 
    12     public String getColor() {
    13         return color;
    14     }
    15 
    16     public void setColor(String color) {
    17         this.color = color;
    18     }
    19 
    20     public String getName() {
    21         return name;
    22     }
    23 
    24     public void setName(String name) {
    25         this.name = name;
    26     }
    27 }
    View Code
  • 相关阅读:
    卸载IE
    js判断是否是object、array
    正则表达式中/i,/g,/ig,/gi,/m的区别和含义
    谷歌地图控制圆圈随缩放自适应大小 js
    WGS84坐标转换GCJ02坐标 JS实现
    Google图片和NASA 网站图片的爬虫
    Yolov_3 网络结构分析
    启动Tensorboard时发生错误:class BeholderHook(tf.estimator.SessionRunHook): AttributeError: module 'tensorflow.python.estimator.estimator_lib' has no attribute 'SessionRunHook'
    MyBatis -- generator 逆向工程
    bat使用方法汇总
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12075301.html
Copyright © 2020-2023  润新知