zoukankan      html  css  js  c++  java
  • Java学习第十章 之 this、super关键字、构造方法

      1 /*
      2 
      3 构造方法:方法名和类名必须相同,可以无参数,可以有参数,没有返回值
      4 
      5 构造方法和一般方法的区别:
      6 
      7                        构造方法是在创建对象时,被调用,只执行一次
      8 
      9                        一般方法是对象创建完成之后,被对象调用,可以被多次调用
     10 
     11 */
     12 
     13 
     14 
     15 //定义一个Person类
     16 
     17 public class Person{
     18 
     19     private String name;
     20 
     21     private int age;
     22 
     23 
     24 
     25     //无参构造
     26 
     27     public Person(){
     28 
     29     }
     30 
     31 
     32 
     33    //有参构造
     34 
     35    public Person(String name , int age){
     36 
     37       this();  //本类中调用构造方法使用this()
     38       this.name = name;
     39 
     40       this.age = age;
     41 
     42     }
     43 
     44 }
     45 
     46 
     47 
     48 /*
     49 
     50 this关键字,调用其他构造方法的语句必须定义在构造方法的第一行,初始化动作要先执行
     51 成员变量和局部变量同名问题:在成员变量名前使用this.来区分成员变量和局部变量
     52 
     53 */
     54 
     55 
     56 
     57 public class Animal{
     58 
     59      String name;
     60 
     61       int age;
     62 
     63      //无参构造
     64 
     65      public Animal(){}
     66 
     67     /*有参构造,给姓名初始化*/
     68 
     69    public Animal(String name){
     70 
     71       this.name = name;
     72 
     73    }
     74 
     75    /*有参构造,给姓名和年龄初始化*/
     76 
     77    public Animal(String name , int age){
     78 
     79            //由于已经初始化name,直接调用即可
     80 
     81             this(name); //this()
     82 
     83             this.age = age; //初始化年龄
     84 
     85     }
     86 
     87 }
     88 
     89 /*
     90 
     91 super关键字:
     92 
     93             子类调用父类中的无参构造方法:super();
     94 
     95             子类调用父类中的有参构造方法:super(参数列表);
     96             当子类调用父类中的无参构造方法时,super()是隐式的,子类会继承父类的内容,子类初始化时,会先到父类中执行初始化动作
     97 
     98             当子类调用父类中的有参构造方法时,super()语句必须显示,指定要访问父类有参数的构造方法
     99 
    100 */
    101 
    102 //定义一个父类
    103 
    104 public class Fu{
    105 
    106   int a = 1;
    107 
    108   public Fu(){
    109 
    110     System.out.println(a);
    111     a = 2; 
    112 
    113   }
    114 
    115 }
    116 
    117 //定义一个子类
    118 
    119 public class Zi{
    120 
    121    public Zi(){
    122 
    123       //super(); //调用父类的构造方法
    124 
    125      System.out.println(a);
    126 
    127   }
    128 
    129 }
  • 相关阅读:
    python模块
    python函数进阶
    python函数
    六.python的深浅拷贝
    五.集合及其推导式
    IOS微信显示NAN,中国标准时间日期转换
    Caused by: org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [beginTime, endTime, param3, param1, vesselName, param2] 找不到参数的解决方式
    java的nullpointerexception空指针异常,关于使用了timer定时导致service调用问题
    java设置开始时间,定时执行任务
    java多层嵌套集合的json,如何获取多层集合中所需要的value
  • 原文地址:https://www.cnblogs.com/z97-/p/12613173.html
Copyright © 2011-2022 走看看