精华内容
下载资源
问答
  • java中 抽象类构造方法的理解

    千次阅读 2016-08-03 12:20:54
    抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。 在继承了抽象类的子类中通过super(参数列表)调用抽象类中的构造方法 示例代码如下: 运行结果: 抽象类虽然不能自己实例化对象...

    抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。

    在继承了抽象类的子类中通过super(参数列表)调用抽象类中的构造方法

    示例代码如下:

    运行结果:

    抽象类虽然不能自己实例化对象,但是在子类新建对象调用子类的构造方法时会先调用抽象类的无参构造方法,这样一来,就可以给给抽象类的参数赋值了。

    展开全文
  • 抽象类构造方法

    千次阅读 2019-12-11 15:49:33
    1、抽象类的说明 抽象类不能被实例化(也就是不能直接 new 抽象类()),如果被实例化,就会报错,编译无法通过。...构造方法,类方法(用static修饰的方法)不能声明为抽象方法。 抽象类的子...

    1、抽象类的说明

    1. 抽象类不能被实例化(也就是不能直接 new 抽象类()),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

    2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

    3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。

    4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法。

    5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

    2、抽象类带有无参的构造方法

    public abstract class Father {
        public Father(){
            System.out.println("抽象类的构造参数");
        }
    }
    
    public class Son extends Father {
        public Son() {
            System.out.println("子类的构造参数");
        }
    }
    
    public class Test {
        public static void main(String[] args) {
            Father father = new Son();
    
        }
    }
    

    输出结果:

    抽象类的构造参数
    子类的构造参数
    
    

    3、抽象类带有有参的构造方法

    public abstract class Father {
        public Father(String param){
            System.out.println("抽象类的构造参数" + param);
        }
    }
    
    public class Son extends Father {
        public Son(String params) {
            super(params);
            System.out.println("子类的构造参数" + params);
        }
    
    }
    
    public class Test {
        public static void main(String[] args) {
            Father father = new Son("aaaa");
    
        }
    }
    

    输出结果:

    抽象类的构造参数aaaa
    子类的构造参数aaaa
    

    也就是说:在生成子类对象前,必须要先调用抽象父类的构造方法

    展开全文
  • java抽象类构造方法吗?

    千次阅读 2020-05-27 21:50:09
    定义抽象类 格式 : abstract class 类名{} 举例 : 抽象类中的 方法 抽象方法 abstract void eat();...抽象类中,有构造方法,但是有不能new,那么构造方法干嘛的呢? 给子类用的!!! 抽象类,一样可以使用多态来创建子

    定义抽象类
    格式 :
    abstract class 类名{}

    举例 :
    
    抽象类中的 方法
    
    	抽象方法  abstract void eat();
    	没有方法体,没有{},以; 结尾.  
    
    
    	非抽象方法 
    		void sleep(){
    			syso ....
    		}
    
    抽象类子类:
    	1.非抽象类,但是必须重写父类的抽象方法
    
    	2.抽象类,无须管抽象方法,但是子类不能new了
    
    抽象类中,有构造方法,但是有不能new,那么构造方法干嘛的呢? 
    给子类用的!!!
    
    抽象类,一样可以使用多态来创建子类对象 .
    总结: 一般来说,会把父类定义为抽象的类.测试的时候,可以通过多态,来实现子类功能. 
    A:面试题
    一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
    
    abstract class A{
    	show(){
    	
    	}
    	method(){
    	
    	}
    }
    
    class B {
    	//1.无法new 
    	private B(){} 
    
    
    	//2.如何获取对象?  
    	public static B getInstance(){
    		return  new B();
    	}
    }
    
    class Test{
    	main(){
    	B b = B.getInstance();
    	}
    }
    

    B:面试题
    abstract 不能和哪些关键字共存?

    private    冲突 -- 对子类隐藏,而 abstract 必须让子类重写 
    final      冲突 -- 不能被重写,矛盾 
    static     无意义-- 类名调用,没有方法体,无意义
    
    public static 
    
    public static final 
    
    方法前面  public 
    
    属性前面  private 
    

    */

    展开全文
  • 抽象类构造方法的使用

    千次阅读 2018-05-08 15:58:29
    //抽象类构造方法的使用package Extends;abstract class Persons{//定义一个抽象类 String name; int age; char sex; //定义一个构造函数 public Persons(String name,int age,char sex){ this.name = name; ...

    /*

    抽象类中构造方法的使用

    抽象类无法被实例化,只能通过子类的继承 extends (一个子类只能继承一个抽象类)并且子类必须全部覆写抽象类中的全部抽象方法

    */

    package Extends;
    abstract class Persons{//定义一个抽象类
    String name;
    int age;
    char sex;
    //定义一个构造函数
    public Persons(String name,int age,char sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
    }
    //声明一个抽象方法
    public abstract String talk();
    }
    //声明抽象类的子类
    class Students extends Persons{
    public Students(String name,int age,char sex){
    super(name,age,sex);
    }
    //覆写抽象方法
    public String talk(){
    return  "学生信息:\t学生姓名:"+name+"\t年龄:"+age+"\t学生性别:"+'女';
    }


    }


     public class AbstractConstructor {
    public static void main (String [] args){
    Students s = new Students("zfc",19,'男');
    System.out.println(s.talk());
    }
    }
    展开全文
  • 一、接口和抽象类构造方法  1、抽象类可以有gouz
  • [Java基础]Java中抽象类和接口中有构造方法吗?

    万次阅读 多人点赞 2017-07-05 10:56:13
    2.问题描述:Java中抽象类和接口中有构造方法吗? 3.问题解答: (1)Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces ...
  • 不能直接实例化,通过非抽象类继承后,才能实例化对象。 2.类中含有抽象方法,那这个类需要声明为抽象类。 3.抽象方法:只声明,不含方法体; 4.在子类中必须实现父类所有抽象方法。 父类构造方法初始化: 1....
  • 抽象类与接口的构造方法

    千次阅读 2016-02-12 09:14:29
    首先抽象类是有构造方法的,我先前一直以为抽象类不能实例化所以是没有构造方法的,,显然这个想法是错误的,因为构造器跟对象没有关系。在此明白一点构造器并不是产生一个对象,而是对成员变量进行初始化。之前看过...
  • Java中抽象类构造器的作用

    千次阅读 2016-04-28 15:25:03
    因为抽象类不可实例化,那么只能在子类实例化时调用该抽象类构造器才有用 看实例代码: abstract class Animal { Animal(){ System.out.println("抽象类Animal无参构造器"); //此处执行前会默认执行super() } ...
  • 抽象类中的构造方法

    千次阅读 2009-04-09 23:23:00
    我们都知道, 在一个抽象类中如果重载了构造方法的话, 那么必须显式的写出一个无参的构造方法 public 类名{ } 不然的话 在后面类实现的时候就会报错 但是在这里 我看了一个视频 , 它的 抽象类中只写了一个带有2...
  • 接口是我们常用的,抽象类好像并不是怎么常用,但这并不代表他不重要,他可以被继承,可以有构造方法,可以给类中的成员变量赋初值,接口就没有这样的功能。       抽象类的出现使得...
  • Java-抽象类定义构造方法

    千次阅读 2013-07-16 09:25:31
    abstract class A {  public static final String INFO="hello world";  public String name="Aaron";  public void setname(String name)  {  this.name=name;  }  public String getname()... return
  • java 抽象类构造函数的作用

    千次阅读 2020-04-17 12:33:42
    毋庸置疑抽象类中可以定义构造函数,但是这时会有一个疑问,既然抽象类的实例化毫无意义那为何又要定义其自己的构造函数呢? 首先,可以通过其内部的构造函数初始化其内部的变量。 其次,可以通过实现它的子类通过...
  • 1)接口不能有构造方法抽象类可以有。 因为抽象类中可以有普通变量,构造方法用来初始化这些变量,而接口中只有静态常量,构造方法没有意义。 2)接口不能有方法体,抽象类可以有。 3)接口不能有静态方法,抽象类...
  • Java中抽象类和接口中有构造方法吗?

    千次阅读 2019-04-18 20:22:00
    (1) Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors。 A. 构造方法用于初始化成员变量,但是接口成员变量是常量,无需...
  • java抽象类构造函数的含义

    万次阅读 2016-06-28 10:04:18
    抽象类虽然自身不可以实例化,但是其子类覆盖了所有的抽象方法后,是可以实例化的,所以抽象类构造函数,适用于给其子类对象进行初始化的       构造函数是对象的基本,没有构造函数就没有对象。 若果在...
  •  抽象类中的构造方法其实是用来给继承的子类来用的,因为构造方法相当于初始化方法,当子类调用构造方法时必须调用父类构造方法,所以你可以在子类产生对象 时抽象类中按需求初始化抽象类中的字段以及执行一些初始...
  • 今天被问到抽象类要不要有构造函数的时候, 我随口一答应该是没有的, 我以为, 抽象类是不能直接用new来被实例化的, 所以也就不需要再去写构造函数了; 随后查了一下明白: 抽象类也需要构造函数, 在大多数情况中抽象类...
  • JAVA中抽象类不能实例化,但是却可以写构造方法,为什么呢?  首先第一点:构造方法不能实例化,想象一下,如果可以实例化,那么,实例化的是所有的子类还是具体哪一个?  第二点:为什么可以有构造方法?  看...
  • 抽象类和抽象方法

    千次阅读 2018-08-12 19:46:26
    含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete...
  • 抽象类概念及其作用

    千次阅读 多人点赞 2019-06-03 10:41:26
    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段...
  • 继承--抽象类--接口--子类构造方法代码执行顺序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 451,380
精华内容 180,552
关键字:

抽象类构造方法的作用