一种方法用于探索对象的行为。
我们可以在方法的前面加上访问修饰符。
方法必须具有返回类型,例如void,任何原始类型(int,char,float等),任何Object类型(Integer,Float,String等)。
Java编译器不会隐式调用方法,我们需要显式调用。
让我们假设如果我们有一个类,并且在该类中,我们没有任何单个方法,那么在这种情况下,java编译器默认不包含其自身的任何方法。
它不是必须具有与其类名称相同的方法名称,或者换句话说,方法名称可以与或不与类名称相同。
方法有两种:
没有参数方法
参数化方法
i)没有参数方法
没有参数或参数的方法,换句话说,这种方法不带任何参数的方法称为无参数方法。
示例
class NoArgumentMethod { //无参数方法定义 void display() { System.out.println("We are in no argument method"); } } class Main { public static void main(String[] args) { //创建一个NoArgumentMethod类的对象 NoArgumentMethod nam = new NoArgumentMethod(); //调用display()方法 nam.display(); } }
输出:
E:\Programs>javac Main.java E:\Programs>java Main We are in no argument method
ii)参数化方法
具有参数的方法,换句话说,这种类型的方法接受任何参数,称为参数化方法。
示例
class ParameterizedMethod { String name; //参数化方法定义 void display(String name) { System.out.println("The name is " + name); } } class Main { public static void main(String[] args) { //创建一个ParameterizedMethod类的对象 ParameterizedMethod pm = new ParameterizedMethod(); //调用display()方法 pm.display("Rahul"); } }
输出结果
E:\Programs>javac Main.java E:\Programs>java Main The name is Rahul
构造函数是一种特殊的方法,它在创建对象时由JVM(Java虚拟机)隐式调用。
构造函数的目的是初始化对象的实例变量。
我们也可以在访问说明符前面加上构造函数。
构造函数不能具有返回类型,即它不返回任何东西。
构造函数是一个隐式调用的特殊函数(即,对于我们不需要显式调用的用户而言是有益的)。
假设我们有一个名为“ Constructor”的类,并且在该类中,我们不包含任何构造函数,因此在这种情况下,java编译器将包含一个自己的默认构造函数。
它的名称必须与构造函数的类名称相同,或者换句话说,构造函数名称必须与类名称相同。
我们有三种类型的构造函数:
默认构造函数
参数化构造函数
复制构造函数
i)默认构造函数
如果我们在类中不包含任何构造函数,则此默认构造函数将由编译器隐式调用。默认构造函数没有参数,或者说没有参数构造函数。
示例
class DefaultConstructor { //构造函数定义 DefaultConstructor() { System.out.println("We are in default constructor"); } } class Main { public static void main(String[] args) { //调用默认构造函数 DefaultConstructor dc = new DefaultConstructor(); } }
输出结果
E:\Programs>javac Main.java E:\Programs>java Main We are in default constructor
ii)参数化构造函数
具有参数的构造函数称为参数化构造函数。如果我们想用我们的值初始化实例变量,而该构造函数不会被编译器隐式调用。
示例
class ParameterizedConstructor { String name; //构造函数定义 ParameterizedConstructor(String name) { this.name = name; } } class Main { public static void main(String[] args) { //调用参数化构造函数 ParameterizedConstructor pc = new ParameterizedConstructor("Preeti"); System.out.println("The name is :" + pc.name); } }
输出结果
E:\Programs>javac Main.java E:\Programs>java Main The name is : Preeti
iii)复制构造函数
具有一个参数的构造函数,该参数是同一类的引用。
示例
class CopyConstructor { String name; //构造函数定义 CopyConstructor(String name) { this.name = name; } } class Main { public static void main(String[] args) { //调用构造函数 CopyConstructor cc1 = new CopyConstructor("Preeti"); //复制的cc1构造函数 CopyConstructor cc2 = cc1; System.out.println("The value of cc1 is :" + cc1.name); System.out.println("The value of cc2 is :" + cc2.name); } }
输出结果
E:\Programs>javac Main.java E:\Programs>java Main The value of cc1 is :Preeti The value of cc2 is :Preeti