Java中“方法”和“构造方法”的区别是什么?

Python08

Java中“方法”和“构造方法”的区别是什么?,第1张

说得通俗一点,方法表示行为,动作。而构造方法表示构成对象用的方法。

当你要生成一个对象时,我们会用一个关键字new

A a = new A() A a = new A("Hello")这里会有两个生成对象的方式,前者只是单单生成一个对象,后者生成对象时传递一个String类型的变量给对象做一些初始化。比如:

public class Person {

private int age

private String name

public Person(){}

public Person(String name,int age){

this.name = name

this.age = age

}

public void say(){

}

}

Person p = new Person()只是单单生成一个对象,并不知道name和age

Person p = new Person("jack",20)生成一个初始化的name与age的对象。

方法不多做解析,比如p.say()//一个行为,人会说话

类的定义:

public class Test {//类的访问修饰符可以是public,默认(就是没有),

//abstract,final,class是定义类的关键字

方法的定义:

//方法的定义:

/**

* [访问修饰符] [static] [是否有返回值类型] 方法名(参数列表){

*        [方法执行体]

*        [return返回值]

* }

*/

public void getName(){

}

//静态方法

public static void main(String[] args) {

}

}

其实没有区别~

面向过程的语言~一般叫函数~比如C~大家都说函数~没人说方法……因为面向过程的一个模块他更强调的是数据的处理~就像函数一样~

而面向对象的语言比如 c++ java c#(c++同时支持面向对象和面向过程)

一般把类的里的函数叫方法或者服务或操作~它主要强调这个类的对象封装了一些属性和方法(变量和函数)并向外提供服务。一个对象应该具有一些服务~为其他对象服务~也就是面向对象中两个对象间发消息…… 你在b的对象里做a.sort() 就是b向a发一条消息~让a进行排序~a只将sort()这个接口暴露给b,为b提供了排序这个功能,其他细节做了封装,这就是面向对象的开闭原则……慢慢体会吧……还是说服务感觉恰当些……