精华内容
下载资源
问答
  • public class A { public String name;... System.out.println("父类的无参数构造方法"); } public A(String str){ this.name=str; System.out.println("父类的有参数构造方法"); } } ...
    package com.kai.test;
    
    public class A {
    	public String name;
    	
    	public A(){
    		System.out.println("父类的无参数构造方法");
    	}
    	public A(String str){
    		this.name=str;
    		System.out.println("父类的有参数构造方法");
    	}
    	
    }
    
    package com.kai.test;
    
    public class S extends A {
    	public S(){
    		System.out.println("子类的无参数构造方法");
    	}
    	public S(String str){
    		super(str);//想调用父类的有参数构造方法,必须写在第一行
    		System.out.println("子类的有参数构造方法");
    	}
    	public void  printValue() {
    		System.out.println("S");
    	}
    	
    	public static void main(String[] args) {
    		S s1 = new S();
    		S s2 = new S("dddd");		
    		System.out.println(s2.name);
    
    	}
    }
    

    ==》运行结果

    父类的无参数构造方法
    子类的无参数构造方法
    父类的有参数构造方法
    子类的有参数构造方法
    dddd
     

    展开全文
  • 类的构造方法,也叫构造函数,就是在实例化类时,对实例的一个初始化,类似于python里的 def __init__(self)。就比如,人类是一个类,每个人都是这个类的实例化,在一个人被创建(出生)时,TA的一些属性(比如性别,...
    e8968bd08a5ed5db7f58cef45a2f0fbe.png

    Java中,最基本的单位就是类。

    类的构造方法,也叫构造函数,就是在实例化类时,对实例的一个初始化,类似于python里的 def __init__(self)。

    就比如,人类是一个类,每个人都是这个类的实例化,在一个人被创建(出生)时,TA的一些属性(比如性别,血型,等)就被初始化了。

    如果写的类里面没有构造函数,那么编译器会默认加上一个无参数且方法体为空的构造函数,如下边的 public Temp(){};


    上代码,用代码说话:

    class Temp{ String string; // 定义变量 public Temp(){}; public Temp(String s){ // 创建一个构造方法 string = s; System.out.println("这是构造方法"); } public void output(){ System.out.println("这是一个简单的类方法"); System.out.println(string); }} //测试类如下public class Test{  public static void main(String[] args){ Temp t = new Temp("a string"); System.out.println("---------------------"); t.output(); }}// 控制台输出如下:这是构造方法---------------------这是简单的类方法a string

    构造方法的格式必须满足:

    1、构造方法名必须与该类的类名相同,如上边的 类名 Temp 和public Temp(String string){ 中的 Temp ;

    2、构造方法没有返回值,相应的,没有返回值类型,没有 void 来修饰;

    3、根据控制台的输出可看出,当实例化该类,并通过构造方法来初始化时,构造方法代码块里的内容会被全部执行。

    继承时要注意:

    1、在java类的继承里,父类的构造方法必被子类调用;

    2、子类只能继承父类的默认构造方法,如果父类没有默认的构造方法,那子类不能从父类继承默认构造方法。这时子类必须使用super来实现对父类的非默认构造方法的调用。

    3、在创建对象时,先调用父类默认构造方法对对象进行初始化,然后调用子类自身自己定义的构造方法。

    (一点小总结,期待各位大佬指教 ^_^ )

    展开全文
  • 如何用反射,调用带参数构造方法创建对象 1.创建一个实体对象,以及待参数构造方法,getset自己补全 public class User { private String name; private String age; public User(String name) { this.name =...

    如何用反射,调用带参数的构造方法创建对象

    1.创建一个实体对象,以及待参数的构造方法,getset自己补全

    public class User {
        private String name;
        private String age;
    
        public User(String name) {
            this.name = name;
        }
    }    
    

    2.创建反射对象,调用构造方法创建对象

        public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
            Class<User> userClass = User.class;
            Constructor<User> constructor = userClass.getConstructor(String.class);
            User user = constructor.newInstance("张三");
            System.out.println(user);
        }
    
    展开全文
  • Java子类调用父类构造方法

    万次阅读 多人点赞 2017-09-29 14:49:15
    Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?   答案如下:   当你new一个子类对象的...构造方法是new一个对象的时候

    在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?    

       答案如下:    

        当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,所以:    

         第一个规则:子类的构造过程中,必须调用其父类的构造方法。一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法,所谓默认的构造方法,就是没有参数的构造方法,但是如果你自己写了构造方法,那么编译器就不会给你添加了,所以有时候当你new一个子类对象的时候,肯定调用了子类的构造方法,但是在子类构造方法中我们并没有显示的调用基类的构造方法,就是没写,如:super(); 并没有这样写,但是这样就会调用父类没有参数的构造方法,如果父类中没有没有参数的构造方法就会出错。    

         第二个规则:如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参数的构造方法注意:如果子类的构造方法中既没有显示的调用基类构造方法,而基类中又没有默认无参的构造方法,则编译出错,所以,通常我们需要显示的:super(参数列表),来调用父类有参数的构造函数。

      

    复制代码
     1 //当你没有使用父类默认的构造方法时,此时在子类的构造方法中就需要显示的调用父类定义的构造方法。
     2 class Animal{
     3   private String name;
     4   
     5   //如果你定义一个新的构造方法
     6   public Animal(String name) {
     7     this.name = name;
     8   }
     9 }
    10 
    11 public Dog extends Animal{
    12   
    13   //这时你就要显示的调用父类的构造方法,因为子类默认调用的是父类的
    14   //无参构造方法Animal()
    15   public Dog(){
    16     super("小狗");  //显示调用父类的有参构造方法
    17 
    18     ....  //子类的构造方法处理
    19   }
    20 }
    21 
    22 //当然,如果你在父类里面把无参的构造方法,显示的写出来了,比如:
    23 class Animal{
    24   private String name;
    25 
    26   //无参的构造方法
    27   public Animal() {
    28     .....  //处理
    29   }
    30   
    31   /*
    32   如果你定义一个新的构造方法,那么在子类的构造方法中,就可以不用显示的调用父类的构造方法,因为子类有个无参的构造方法,
    33   子类在构造方法中会自动调用父类已经定义的无参构造方法。
    34   */
    35   public Animal(String name) {
    36     this.name = name;
    37   }
    38 }
    复制代码

    总结:不过一般的,在父类中使用了构造方法的重载,在子类中就可以根据需要,调用相应的父类构造方法。

    展开全文
  • 其实子类的所有构造方法的第一行都有一条隐示super()或者显示的super() 隐示super() 先说一下什么情况下会有隐示的super()。 1.子类构造函数中没写super()并且子父类具有无参构造函数。那么子类第一行便会自动一条...
  • 单例类: 1 package singleton; 2 3 public class SingletonTest { 4 ... 5 // 私有构造方法 6 private SingletonTest(){ 7 8 System.out.println("无参数---构造----"); 9 ...
  • import java.lang.reflect.Constructor;... * ###27.05_反射(通过反射获取构造方法并使用) * Constructor * Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的
  • Java的web项目实际开发中,写一个实体类,常常看见写一些没有返回值的方法,有一个是不带参数没有返回值的方法,一个是带参数也没有返回值的方法,这就是构造方法。  理论来说:参的没有返回的方法实际中,...
  • Java中如何在无参构造方法调用有参构造方法

    万次阅读 多人点赞 2016-08-10 14:27:14
    参数的扩展和构造方法调用都是有一定的规律的。 有参调无参,多参调少参。。扩展参数的时候,最好保持原来的顺序。除非为了实现特殊的功能效果(个人以为主要是练基本功使用) 无参调有参需要传实参!!package ...
  • 今天楼主在学习JPA的时候,...首先不只是JavaBean 有一个空的构造方法,所有的Java类都有这样默认的构造方法,当你不主动写的时候实际上是隐藏的,或者你写初始化参数的方法时就没有这个构造方法了。 java初始化类的
  • Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?...构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对...
  • 构造方法 方法的定义 在java中称为‘方法’,在C中称为‘函数’ java方法是语句的集合 用于执行一个功能 包含于类和对象中 可以被引用 方法的格式 访问权限 [修饰符] 返回值类型 方法名(参数列表){ ... 方法体 .....
  • java中子类调用父类的构造方法

    千次阅读 2014-11-21 18:40:08
    Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?  答案如下:  ...构造方法是new一个对象的时候,必须要调的方
  • 通过反射,调用带参数构造函数

    千次阅读 2019-06-21 16:31:57
    反射调用带参数构造函数通过反射调用带参数构造函数 通过反射调用带参数构造函数 通过反射,在程序运行中,选择实例化哪个对象是java编程中,很通用的方法,我们先建一个父类,声明通用的处理方法,然后写几个...
  • 先说构造方法,在使用Class类中的,newInstance() 取得实例化对象时,会出现一些问题。看下面出错的代码:package com.jmd.bingo; class Person { private String name; private int age; // public Person() { //...
  • Java继承关系下的构造方法调用

    千次阅读 2015-03-19 16:24:47
    Java中创建一个类的对象时,如果该类存在父类,则先调用父类的构造方法,然后再调用子类的构造方法。本文描述子类中如何调用父类的构造方法
  • 表示父类对象的默认引用 如果子类要调用父类被覆盖的实例方法,可用super作为调用...子类构造方法调用父类构造方法用super(参数列表) 子类调用父类的构造方法时: super必须放在第一句 Java在执行子类的构造方法...
  • Java反射调用带接口类型参数方法

    千次阅读 2019-08-15 20:47:23
    Java 中反射属于java高阶编程的一大法宝,无论是动态代理还是... 言归正传,近日在用反射调用第三方sdk中一个方法时候,发现了这个方法有接口类型的参数,一时不知如何传递接口参数,具体看下面的一个demo方法...
  • 下面是关于父类构造方法调用的实验:当父类子类都没有定义构造方法时,系统为父类、子类提供一个无参构造方法,并在子类中隐式调用父类无参构造方法:class Father {} class Son extends Father {}我们可以自己写...
  • java构造方法不允许调用重载方法 今年在搭建一个项目的基础架构的时候,遇到了一个问题,一个类的初始化对象总是得到错误的数据,从常规语法上不到赋值错误。java代码大概如下: import org.junit.Test; ...
  • JNI调用Java构造方法,父类方法

    千次阅读 2016-09-26 16:00:57
    本文基于此项目Hello JNI本文用到的函数:Call< Type>Method, CallNonvirtual< Type>MethodJNIDemo.java创建两个native方法 //访问构造方法 public native void accessConstructMethod(); //访问父类方法 public ...
  • ),但是子类在实例化对象时:如果子类的构造器没有显示的调用超类的方法,则将自动调用超类默认构造器(子类构造器中默认是有super()的(可以使用super(参数调用有参构造),所以会调用父类构造方法,如果是...
  • 调用子类构造方法之前会先调用父类没有参数构造方法,其目的是? 帮助子类做初始化工作。
  • Java有参构造方法和无参构造方法详解

    千次阅读 多人点赞 2020-12-09 12:05:16
    一:有参数构造方法 在之前我们要为一个对象赋值,先要创建好对象之后然后“对象名.属性名”或者调用属性的setter为属性赋值。但是在很多时候觉得这样做很麻烦,最好的做法是在创建对象的时候完成属性的初始化操作...
  • 1、 必须在构造方法的第一行使用用this调用类中其他构造方法或super调用父类构造... 中不带参数构造方法  3、 子类没有显示调用父类构造方法,父类中又没有定义无参的构造方法  (只有当父类中没有显示定义构
  • Java构造方法

    千次阅读 多人点赞 2019-09-09 19:26:39
    当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造...
  • 在对对象成员变量初始化时,有输入时,通过有参构造方法进行赋值。当没有输入时,可以给个初始值,就通过无参写入默认的,无参调有参...// main方法中 new调用无参构造方法,再完成上面的无参调有参 new 类名(); ...
  • package four; //定义一个类 class Animals2{ public Animals2(String name){ System.out.println("我是一只"+name);...通过super调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 595,372
精华内容 238,148
关键字:

java怎么调用带参数的构造方法

java 订阅