Java中的实例方法,构造函数与一般函数有什么区别

小编因为上Java课听不懂老师讲重载——(狗爸爸与狗儿子的故事)所以,一直弄不清楚什么是函数什么是构造函数,emmmmmmmm不过,小编热爱学习,现在终于弄明白了。

 

构造函数:是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值。 总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。

构造函数的特点:

1)构造方法名与类名必须完全一致
2)构造方法没有任何返回值类型的声明,包括void也没有
3)构造方法中不能使用return语句
4)构造方法可以重载
5)接口和抽象类不允许被实例化,所以没有构造方法。
6)当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。
7)存在自定义构造方法时,都不会再自动添加无参的构造方法。
8)不能被static、final、synchronized、abstract和native修饰。
9)可以被权限修饰符public、protected 和 private 修饰。

 

在写法上的不同:

构造方法:

public class Sample{
   private in x;
   public Sample(){              //不带参数的构造方法
      this(1);
   }
   public Sample(int x){         //带参数的构造方法
      this.x=x;
   }
   public int Sample(int x){     //不是构造方法,return
      return x++;
   }
}


一般方法:

定义类:
 

public(修饰符) class(定义类的关键字) Test(类名)(){
      private(修饰符) static(修饰符) String(变量类型) s(变量名) = "hello world";
下面是方法的定义
      public(修饰符)  static(修饰符)  void(返回值类型)  main(方法名)(String[] args(参数)){
             System.out.println(s);(代码语句)
      }
}

子类调用父类的:


public class MyExpection extends Exceptio{
    public MyException(){
       //调用Exception父类的Exception(String msg)方法
       super("Something is error!");
    }
    public MyException(String msg){
       //调用EXception父类的Exception(String msg)方法
       super(msg);
    }
}

总体而言:

类方法:和类变量一样,可以不用实例,直接用类就可以调用类方法。 
实例变量:实例域,实例字段,或叫成员变量。 
实例方法:或叫成员方法,必须先有实例,然后才能通过实例调用该实例方法。 
使用方法:类方法可以直接调用类变量和类方法              
          类方法不可以直接调用实例变量和实例方法               
          类方法中没有this,因为没有实例,this不知道调用哪个实例             
          类方法可以从类里面直接访问类成员             
          实例方法可以调用类方法,访问类变量,但是不提倡这样做,会把类方法和类变
量混淆成实例方法和实例变量
 

posted @ 2019-04-05 01:41  金鳞踏雨  阅读(20)  评论(0编辑  收藏  举报  来源