zoukankan      html  css  js  c++  java
  • java学习笔记11 (构造方法 this深探)

    在开发中,经常需要在创建对象的同事明确对象对的属性值,比如一个person对象创建的时候就应该有name和age 等属性,那么如何做到在创建对象的同时给对象的属性值初始化值呢?

    这里介绍构造方法

    1 构造方法没有返回值类型, 更没有返回值,因为他是构建对象的,对象创建完,方法就执行结束

    2构造方法名必须和类型保持一致

    3 构造方法什么时候运行呢?  在创建对象的时候自动执行,而且只执行一次

    定义示例

    public class  Person{
        public  person(){
            System.out.println("我是一个空参构造方法");     
        }          
    } 

    运行:

    public class test(){
       public static ovid main(String [] args){
            Person  p = new Person();  
    }
    //输出:我是一个空参构造方法

    构造方法是每个类的必须内容  写或者不写都存在

    编译器在编译的时候会检测有没有构造方法 如果有,执行。没有,自动创建一个空参构造

    构造方法的赋值

    public class  Person{
        private String name;
        private int age;
        public Person(String name,int age){
            this.name=name;
            this.age=age;
        }
    }
    public class Test{
        public static void main(String[] args){
            Person p = new Person("张三",18);
        }
    }

     

    this  在构造方法中的调用

    public class Person {
        private String name;
        private int age;
    
        public Person() {
            //this()是调用其他的构造方法
            //this()必须写在构造方法第一行
            this("张三", 20);
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    
    
    
    
    
    public class Test {
        public static void main(String[] args) {
            Person p1 = new Person("张三", 18);
            Person p2 = new Person();
        }
    }
    //输出: 张三 18
    // 张三 20

    this关键字给成员变量进行了赋值

  • 相关阅读:
    POJ 1016 不断压缩字符串判断三种结果
    递归的运行机制简单理解
    模拟链表
    输入两个字符串,不用系统提供的函数strcat,自定义函数将两个字符串连接起来。
    信号量多线程同步
    windows 多线程同步技术
    qsort和sort的区别(转)
    大数阶乘位数
    字符串数组qsort排序
    Safecracker
  • 原文地址:https://www.cnblogs.com/bxl-1016/p/10689803.html
Copyright © 2011-2022 走看看