构造方法和方法的重载

**
* 方法重载就是在类中可以写多个方法名相同的方法,但这些方法除了方法名相同外,其参数类型,参数个数
* 和方法的返回值,都不相同。
*
*而构造方法就是一种特殊的方法,其的方法名必须和类名相同。
*构造方法没有返回值类型,没有void
*构造方法不能从父类中继承
*构造方法可以重载,一个class可以有多个构造方法,不同的对象根据参数的不同
* 选择合适的构造方法。
* 构造方法不能直接通过方法名来引用,必须用new运算符
* 在构造方法中可以调用当前类和其父类的另一个构造方法,但必须是方法体的第一条语句。

如果一个构造方法中中的第一条没有用super来调用父类的构造方法,则编译器也会默认在构造方法中用super()语句调用

无参的构造方法

但是,如果构造方法的第一句是用this来调用本类中的另外一个构造方法,那么他就不会再默认调用super()
* 使用当前类的构造方法用this来引用,使用父类的构造方法用super来引用
*   super有三种情况:

用来访问父类中被覆盖的方法

用来访问父类中的构造方法、

用来访问父类中被隐藏的成员变量。
*其为类的方法中的变量赋初始值。
* /

下面我们先建一个父类

 1 import javax.swing.Spring;
 2
 3 public class overloading {
 4
 5 /**
 6  * 方法重载就是在类中可以写多个方法名相同的方法,但这些方法除了方法名相同外,其参数类型,参数个数
 7  * 和方法的返回值,都不相同。
 8  *
 9  *而构造方法就是一种特殊的方法,其的方法名必须和类名相同。
10  *构造方法没有返回值类型,没有void
11  *构造方法不能从父类中继承
12  *构造方法可以重载,一个class可以有多个构造方法,不同的对象根据参数的不同
13  *  选择合适的构造方法。
14  * 构造方法不能直接通过方法名来引用,必须用new运算符
15  * 在构造方法中可以调用当前类和其父类的另一个构造方法,但必须是方法体的第一条语句
16  *   使用当前类的构造方法用this来引用,使用父类的构造方法用super来引用
17  *
18  *其为类的方法中的变量赋初始值。
19  * /
20  */
21   public Spring d;
22   public overloading() {
23     // TODO Auto-generated constructor stub
24       System.out.println(" i am the frist method! I do not have parameter");
25 }
26   public void overloading()
27   {
28     // TODO Auto-generated method stub
29    System.out.println("I am the method 2! I have not return value!");
30   }
31   public overloading(String d)
32   {
33
34
35    //   d="33";如果在此对d赋值,则下面的overloading ol2 =new overloading("3");的赋值将会
36   //被覆盖,即,输出的结果里d的值为33不是3
37       System.out.println(d);
38   }
39
40 public static void main(String[] args) {
41     //类的实例化
42     overloading ol=new overloading();
43     ol.overloading();
44     overloading ol2 =new overloading("3");
45 }
46
47 }

然后再子类中继承父类,并调用父类中的方法:

public class suboverclass extends overloading{

        //subclass的构造方法
           public suboverclass() {
            // TODO Auto-generated constructor stub
            //调用父类的构造方法(do  not have parameter)
               super();
            //invoke a normal method from father class
               super.overloading();
           System.out.println("I am a constructor stub in subclass.");
        }
           public suboverclass(String c){
             //subclass的构造方法2(have a parameter)
               super("I am a constructor method and have a parameter.");

             System.out.println("I am a constructor stub in subclass."+c);
           }
           public static void main(String[] args) {
               //无参构造方法
               suboverclass sub =new suboverclass();
               suboverclass sub2=new suboverclass("and I invoke the method from farther class overloading.");
        }
  }

指的注意的是调用父类方法时,调用普通方法和构造方法的区别。

构造方法和方法的重载

时间: 2024-07-29 13:52:39

构造方法和方法的重载的相关文章

构造方法和方法的重载。

---恢复内容开始--- 构造器,又称为构造方法.constructor 构造器用于构造该类的实例. 格式: [修饰符] 类名(形参列表){ //n条语句 } 是一种特殊的方法: 1.通过new关键字调用 2.构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能字啊构造器里调用return. 3.如果我们没有定义构造器,则系统u会自动定义一个无参的构造函数.如果已定义则编译器不会添加! 4.构造器的方法名必须和类名一致! 5.构造该类的对象,经常也用来初始化对象的属性. --

JAVA笔记2__类/封闭性/构造方法/方法的重载/匿名对象

public class Main { public static void main(String[] args) { Chicken c1 = new Chicken(); Chicken c2 = null; c1.eat(); System.out.println(c1.age); c2 = c1; c2.eat(); } } class Chicken{ int color; char sex; int age; void eat(){ System.out.println("chik

构造方法和方法重载小结

构造方法和方法重载  作用:创建类的时候同时初始化数据,在创建new的时候. 声明构造方法: public 类名; 比如 public BOOK(){}; 对象变量进行初始化的 创建new的时候自动调用. 自己写的有参数的构造函数 可以把值传给变量 构造方法简单上说是为了可以根据类属性需要更方便的创建对象举个例子 比如咖啡这个类咖啡的类型.成分就可以看成一种属性,咖啡的种类可以是拿铁,摩卡,咖啡材料可以有淡奶,糖,巧克力……根据需要想放材料什么就放什么.把材料作为参数传进去,就可以泡出咖啡(初始

方法的重载,构造方法

一个类中,出现多个名字相同,参数列表的个数和类型不相同的多个方法,那么这些方法之间就叫做方法的重载. 类中有一类方法,没有返回类型,方法名和类名相同,这样的方法,叫构造方法. 构造方法的作用: 1.用来创建对象,要创建对象的时候必然会调用一个构造方法 2.用来在创建对象的同时给对象的属性赋值 注意: 1.当类里面没有显示的创建构造方法的时候,系统会默认提供一个无参数的构造方法 2.当类里面创建了有参的构建方法的时候,系统就不默认提供一个无参数的构造方法 3.如果我们还想是用无参构造方法,就需要手

Java中的(构造方法、方法重载、final修饰符使用及继承和抽象)

构造方法: 构造方法的名称和类名相同,没有返回类型,参数列表(类型.个数)不同 方法重载:成员方法和构造方法都可以进行重载 方法名相同但是参数列表(类型,个数)不同,成为方法的重载. 继承:直支持单继承,一个类只能有一个父类 继承要用extends关键字修饰 public class Dog extends Pet{ //方法体 } 子类调用父类公用的成员变量和方法需使用关键字super 如super.方法名 super(成员变量,成员变量....) 方法重写: 方法重写的需求: 1.重写方法和

(1)构造方法和方法重载 (2)this关键字 (3)方法的传参和递归调用

1.构造方法和方法重载如: Person p = new Person(); - 声明Person类型的引用p指向Person类型的对象 p.show(); - 调用名字为show()的成员方法 1.1 构造方法(重中之重)(1)语法格式 class 类名{ 类名(形参列表){ 构造方法体; } }如: class Person{ Person(){ } } (2)使用方式 a.构造方法的名称与类名完全相同,并且没有返回值类型,连void都不许有: b.当创建新对象时会自动调用构造方法来进行该对

封装 ,this,构造方法,方法重载

.什么是封装?封装就是将属性私有化,提供公有的方法访问私有属性. 做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问. 如:private String name; public String getName(){ ??????????????????? return; ?????????? } ? ????? public void setName(String name){ ???????????????

java中构造方法和方法全面解析

java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望大家多多讨论.          构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用.      方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值,命名. 1.和方法一样,构造器可以有任何访问的修饰: public

方法的重载与重写区别

重写和重载的区别 (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义. 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性. (3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同.无法以返回型别作为重载函