• java 面向对象-- 构造方法


    构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作;

    /**
     * 定义人类
     * @author user
     *
     */
    public class People {
     
        // 定义属性 
        private String name; // 实例化对象时,默认值是null
        private int age; // 实例化对象时,默认值是0
         
        /**
         * 默认构造方法
         */
        People(){
            System.out.println("默认构造方法!");
        }
         
     
         
        public void say(){
            System.out.println("我叫:"+name+",我今年:"+age);
        }
         
        public static void main(String[] args) {
            People people=new People();
            people.say();
        }
    }

    注意:实例化对象的时候,String类型的默认值是null,int基本类型的默认值是0 ;

    People(){} 构造方法 

    特点 1,没有返回值类型,区别于其他一般方法;

       2,方法名和类名一样;

     

    package com.java1234.chap03.sec04;
     
    /**
     * 定义人类
     * @author user
     *
     */
    public class People {
     
        // 定义属性 
        private String name; // 实例化对象时,默认值是null
        private int age; // 实例化对象时,默认值是0
         
        /**
         * 默认构造方法
         */
        People(){
            System.out.println("默认构造方法!");
        }
         
        /**
         * 有参数的构造方法
         * @param name2
         * @param age2
         */
        People(String name2,int age2){
            System.out.println("调用的是有参数的构造方法");
            name=name2;
            age=age2;
        }
         
        public void say(){
            System.out.println("我叫:"+name+",我今年:"+age);
        }
         
        public static void main(String[] args) {
            // People people=new People();
            People people=new People("张三",20);
            people.say();
        }
    }

     

     

    这里我们定义了一个有参数的构造方法,参数有name2 age2,当调用构造方法的时候,用于赋值给name和age属性。

    注意点:

    1,假如没有构造方法,系统会自动生成一个默认的无参构造方法;

    2,假如有构造方法,系统不会自动生成构造方法;

     

  • 相关阅读:
    SpringBoot2.x前后端分离跨域问题及Swagger不能访问
    SpirngBoot2.x整合Swagger2接口文档
    SpringBoot2.x整合Druid数据源
    SpringBoot2.x整合logback 实现自动打印日志
    docker 进入 mysql中的操作
    Intellij Springboot (子模块)访问jsp页面404
    运行rabbitmq 的docker
    mybatis拦截器修改sql重新set后不生效?
    oracle+mybatis如何在新增时返回主键(自增序列)的值?
    oracle+mybatis报“未找到要求的from关键字”错误?
  • 原文地址:https://www.cnblogs.com/xyg-zyx/p/9817787.html
Copyright © 2020-2023  润新知