精华内容
下载资源
问答
  • Java 构造方法和普通方法之间的区别1、构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。2、类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中...

    585707762fea2f648bbde30546d63284.png

    Java 构造方法和普通方法之间的区别

    1、构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

    2、类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。

    3、不能被static、final、synchronized、abstract和native修饰。

    4、构造方法在初始化对象时自动执行,一般不能显式地直接调用、当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

    5、构造方法分为两种:无参构造方法 有参构造方法。

    无参的构造方法class person{

    public person(){

    System.out.println("无参的构造方法被调用了。。。");

    }

    }

    class Ex11{

    public static void main(String[] args){

    person p=new person();

    }

    }

    有参的构造方法(目的就是为了给对象实例变量赋值)class person{

    int age;

    public person(int a){

    age=a;

    }

    public void speak(){

    System.out.println("I am "+age+" years old");

    }

    }

    class Ex11{

    public static void main(String[] args){

    person p=new person();

    p.speak();

    }

    }

    展开全文
  • java构造方法和普通方法的区别一、普通方法是有修饰符修饰的成员方法,根据关键字static的有无分为静态方法和非静态方法;一旦使用static修饰成员方法,就成为了静态方法,静态方法不属于对象,而是属于类的;如果...

    java中构造方法和普通方法的区别

    一、普通方法

    是有修饰符修饰的成员方法,根据关键字static的有无分为静态方法和非静态方法;一旦使用static修饰成员方法,就成为了静态方法,静态方法不属于对象,而是属于类的;如果没有static修饰的成员方法,那么必须先创建对象,然后通过对象调用它;普通方法可以有返回值也可以没有返回值,而构造方法不能有返回值;普通方法是不能通过new来创建的,可以通过对象名来调用;

    二、构造方法

    当一个类实例化对象的时候,用到的方法就是构造方法,我们可以看到在一个类里面的构造方法并不是从别的类里面引进来的,而是自己本身就有的方法。换句话说,构造方法就是类构造对象时调用的方法,主要用来实例化对象。

    特点:(1)方法名称和类名相同 (2)不用定义返回值类型 (3)不可以写return语句

    1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

    2.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。

    3.不能被static、final、synchronized、abstract和native修饰。

    4.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

    5.构造方法分为两种:无参构造方法 有参构造方法。

    注意:

    构造方法:对象创建时,就会调用与之对应的构造方法,对对象进行初始化;在对象创建时,会调用且只调用一次。

    一般方法:对象创建后,需要方法功能时才会调用。对象创建后,可以被调用多次。

    相同点:

    都可以重载

    ``

    class Person{

    public Person(){

    System.out.println("无参构造方法");

    }

    public Person(String nam){

    System.out.println("重载的带参构造方法");

    }

    public void say() {

    System.out.println("普通方法 ");

    }

    public void say(String name) {

    System.out.println(name+"重载的普通方法 ");

    }

    }

    ``

    展开全文
  • java构造方法和普通方法 构造方法 构造方法也叫做构造器,使用来创建一个实例对象。 1.构造方法必须和类名一致,并且没有返回值 public class Test{ public Test(){ } } 注意:构造方法没有返回值,所以...

    java构造方法和普通方法

    构造方法

    构造方法也叫做构造器,使用来创建一个实例对象的。

    1.构造方法必须和类名一致,并且没有返回值

    public class Test{
        public Test(){
            
        }
    }
    

    注意:构造方法没有返回值,所以也就没有return 。

    2.在实例化对象的时候其实调用的就是构造方法

    public class Test01{
    	public Test01(){
    		System.out.println("构造方法被调用了~~~");
    	}
    
    	public static void main(String[] args ){
    		Test01 t = new Test01();
    	}
    }
    

    运行结果:

    在这里插入图片描述

    以上实验证明,在new对象的时候其实就是调用的类的构造方法。

    3.构造方法也是可以被重载的

    普通方法支持重载,那构造方法呢?我们看下面的例子…

    public class Test01{
    	public Test01(){
    		System.out.println("构造方法被调用了~~~");
    	}
    	public Test01(int i){
    		System.out.println("有参构造!!!");
    	}
    
    
    	public static void main(String[] args ){
    		Test01 t = new Test01();
    	}
    }
    

    运行结果:

    在这里插入图片描述

    运行过程中没有报错就证明说是构造方法也是可以被重载的,那如果有多个构造方法,怎么知道自己调用的是哪个构造方法呢?其实很简单,直接看new 后面的那个方法,那个其实就是在调用的构造方法,如果里面没有值,例如:new Test01();这种的话就是调用的就是无参的构造方法,要是new Test01(12);这种的话就是调用的有参的构造方法。

    4.父类的构造方法不能被子类继承,但是可以被子类调用

    普通的方法都是通过对象.方法来调用的,但是构造方法特殊,它是用来创建对象的。

    java文档中有这么一句话:

    “A subclass inherits all the members (fields, methods, and nested classes) from its superclass. Constructors are not members, so they are not inherited by subclasses, but the constructor of the superclass can be invoked from the subclass.”

    翻译过来就是:

    子类从其超类继承所有成员(字段,方法和嵌套类)。构造函数不是成员,因此它们不会被子类继承,但是可以从子类中调用超类的构造函数。”

    5.构造方法可以对成员变量进行初始化(包括被private修饰符修饰)

    public class Test01{
    	private int age;
    	private String name;
    
    	
    	public Test01(int age,String name){
    		this.age = age ;
    		this.name = name ;
    	}
    
    
    	public static void main(String[] args ){
    		Test01 t = new Test01(23,"赵四");
    		System.out.println(t.age + "  "+t.name );
    	}
    }
    

    运行结果:

    在这里插入图片描述

    普通方法

    1.普通方法用来描述对象的动态行为或是是特征

    • 普通方法有返回值
    • 普通方法支持被继承和重写(不考虑访问控制)
    • 普通方法名不能和类名一致
    • 普通方法名首字母小写。
    • 普通方法也支持重载
    • 普通方法支持重写,但是构造方法都不能继承,更不要说重写了。

    2.构造方法可以调用普通方法,但是普通方法不能调用构造方法

    public class Test01{
    	public Test01(){
    		fun();
    	}
    	public void fun(){
    		System.out.println("普通方法被调用了~~~~");
    	}
    
    
    	public static void main(String[] args ){
    		Test01 t = new Test01();
    	}
    }
    

    运行结果:

    在这里插入图片描述

    接下来看看普通方法是否可以调用构造方法

    public class Test01{
    	public Test01(){
    		
    	}
    	public void fun(){
    		Test01();
    	}
    
    
    	public static void main(String[] args ){
    		Test01 t = new Test01();
    		t.fun();
    	}
    }
    

    运行结果:

    在这里插入图片描述

    展开全文
  • 1.普通方法:定义:简单的说方法就是完成特定功能的代码块。...普通方法分为:有明确返回值的方法和没有明确返回值的方法。A.有明确返回值的方法的调用可以单独调用(无意义)、输出调用、赋值调用(推荐)。public sta...

    1.普通方法:

    定义:简单的说方法就是完成特定功能的代码块。

    普通方法定义格式:

    修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2,.........) { 函数体; return 返回值; }

    返回值类型用于限定返回值的数据类型。

    普通方法分为:有明确返回值的方法和没有明确返回值的方法。

    A.有明确返回值的方法的调用

    可以单独调用(无意义)、输出调用、赋值调用(推荐)。

    public static int sum (int a , int b)

    {

    int c =a+b;

    return c ;

    }

    public static void main(String[] args)

    {

    //sum(10,20); //单独调用

    //System.out.println(sum(10,20)); //输出调用

    int sum01 =sum(10,20); //赋值调用

    }

    B.没有明确返回值的方法调用(void类型方法的调用)

    只能单独使用。

    (如果一个方法没有明确的返回值类型,方法定义中的“返回值类型”就用void代替,表示该方法无返回值类型。)

    2.构造方法

    定义:简单的来说是给对象的数据进行初始化的。

    构造方法是类的一个特殊的成员,在类实例化时会自动调用。

    构造方法定义格式:

    修饰符 方法名() { }

    注意:

    1.方法名与类名相同。

    2.没有返回值类型。 3.没有具体的返回值。

    构造方法分为:无参构造方法和有参构造方法。

    A.无参构造方法

    public class Student{

    public Student(){ //无参构造方法

    System.out.println("无参方法被调用");

    }

    }

    public class Test {

    public static void main (String[] args){

    Student stu = new Student(); //实例化Student对象

    }

    }//该方法是无参的构造方法,即构造方法不接收参数,执行后输出即可,无参的构造方法被调用。

    B.无参构造方法

    为一个属性赋值有两种方法:①、直接访问对象属性 ②、通过setXxx()方法

    如果想在实例化对象的同时就为这个对象的属性进行赋值,可以通过带参数的构造方法来实现

    public class Student{

    private String name;

    private int age;

    public Student(String name,int age){ //有参构造方法

    this name = name;

    this age = age ;

    }

    public void show (){

    System.out.println("姓名:"+name+"年龄:"+age);

    }

    }

    public class Test02(){

    public static void main (String[] args)

    {

    Student stu = new Student("王小五",25); //实例化对象的同时赋值

    stu.show();

    }

    }

    构造方法注意事项:

    1.java中的每一个类都至少有一个构造方法,如果我们没有创建,系统会为我们创建一个默认的无参构造方法。(不显示代码)

    2.但是如果我们定义了构造方法,系统就不会再为我们提供默认的无参构造方法了。这个时候想使用无参构造方法必须自己定义。因为实例化对象时,不一定会输入参数,那么没有无参的构造方法,又不输入参数,就会出错。

    3.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。

    4.构造方法是可以重载的。

    补充知识:java中 concat()方法 , "+"和append()方法的区别?

    由下面的例子可看出,"+"和append()方法都可以对任意类型数据进行拼接,而concat()方法则需要将其他类型的数据则要转化为字符串后才能拼接

    package 练习题;

    import java.util.ArrayList;

    import java.util.List;

    public class 练习题29 {

    public static void main(String[] args) {

    List list=new ArrayList();

    list.add(100);

    list.add('日');

    list.add("冲刺,决胜高考!");

    StringBuffer sb=new StringBuffer();

    for(char i=0;i

    sb.append(list.get(i));

    }

    System.err.println(sb);

    String s1="";

    for(char i=0;i

    s1=s1+list.get(i);

    }

    System.err.println(s1);

    String s2="";

    for(char i=0;i

    s2=s2.concat( list.get(i).toString());

    }

    System.err.println(s2);

    String str1="";

    System.err.println(str1.concat(null)); //运行后报空指针异常NullPointerException

    String str2=null;

    System.err.println(str2.concat("asdf"));//运行后报空指针异常NullPointerException

    }

    }

    输出结果:

    100日冲刺,决胜高考!

    100日冲刺,决胜高考!

    100日冲刺,决胜高考!

    Exception in thread "main" java.lang.NullPointerException

    concat()方法:String类的concat()方法(只能用于拼接字符串,不能拼接其他类型的数据)将指定的字符串拼接到该字符串的末尾。并且字符串本身和拼接的字符串都不能为null,否则运行程序后会报空指针异常NullPointerException(编译时没有报错)。

    "+":可以对字符,数字,字符串等数据类型的拼接

    append()方法:可以对字符,数字,字符串等数据类型的拼接,结果返回一个StringBuffer类型的对象

    以上这篇java中构造方法和普通方法的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • 1.普通方法:定义:简单的说方法就是完成特定功能的代码块。...普通方法分为:有明确返回值的方法和没有明确返回值的方法。A.有明确返回值的方法的调用可以单独调用(无意义)、输出调用、赋值调用(推荐)。public sta...
  • 主要介绍了java构造方法和普通方法的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java构造方法和普通方法的区别

    万次阅读 多人点赞 2018-01-30 10:03:10
    java构造方法和普通方法的区别 普通方法大家肯定都见过,有修饰符修饰的方法可以有返回值也有的没有返回值。 而构造方法呢?举个例子应该很快就懂了,当一个类实例化对象的时候,用到的方法就是构造方法,我们...
  • 1.普通方法:定义:简单的说方法就是完成特定功能的代码块。...普通方法分为:有明确返回值的方法和没有明确返回值的方法。A.有明确返回值的方法的调用可以单独调用(无意义)、输出调用、赋值调用(推荐)。public sta...
  • ⑤当没有指定构造方法时,系统会自动添加无参的构造方法⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法⑦构造方法的重载:方法名相同,但参数不同的多个方法,调...
  • Java构造方法和普通方法的区别

    千次阅读 2018-10-09 15:41:55
     面向切面编程中,基于动态代理的SpringAOPAspectJ相比,是一个功能比较弱的AOP解决方案,SpringAOP只能支持方法的切面通知。  当我们需要在创建对象时应用通知,构造器切点就非常方便。然而,Java构造器方法...
  • JAVA构造方法和普通方法的区别

    千次阅读 2018-05-27 23:07:40
    ⑤当没有指定构造方法时,系统会自动添加无参的构造方法⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法⑦构造方法的重载:方法名相同,但参数不同的多个方法,...
  • ⑤当没有指定构造方法时,系统会自动添加无参的构造方法⑥当有指定构造方法时,无论该构造方法是有参,还是无参,系统都不会再自动添加无参的构造方法⑦构造方法的重载:方法名相同,但参数不同的多个方法,调用时会...
  • 展开全部构造方法意为构造器,也就是为了程序在内存中构造当前类32313133353236313431303231363533e58685e5aeb931333365636131对象,并提供相关get,set方法,共修改其属性,多用于bean对象,而普通方法一般用于...
  • 构造方法: ①方法名 类名相同 ②在方法名前面没有返回值类型声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book(); ⑤当没有指定构造方法时,系统会自动添加...
  • 构造方法和普通方法的区别: 功能: 构造方法 用来初始化对象; 普通方法为了完成特定的功能的。 2)使用上: 构造方法只在 new 创建对象的时候才能调用; 普通方法用对象就可以调用,“对象名.方法名”就可以调用,...
  • 构造方法和成员方法的区别 A:格式区别 构造方法和类名相同,并且没有返回类型,也没有返回值。 普通成员方法可以任意起名,必须有返回类型,可以没有返回值。 B:作用区别 构造方法用于创建对象,并进行初始化值。 ...
  • 1.普通方法:定义:简单的说方法就是完成特定功能的代码块。...普通方法分为:有明确返回值的方法和没有明确返回值的方法。A.有明确返回值的方法的调用可以单独调用(无意义)、输出调用、赋值调用(推荐...
  • JAVA构造方法和普通方法的区别是什么? 构造方法: 1、特点: 1):方法名称和类同名 2):不用定义返回值类型,系统会自动隐式生成 3):不可以写retrun语句 4):构造方法可以被重载 2、作用: 1): 给对象初始化...
  • 1:构造方法名必须类名相同 2:构造方法bu
  • 普通方法 定义:简单的说方法就是...普通方法分为:有明确返回值的方法和没有明确返回值的方法。 A.有明确返回值的方法的调用 可以单独调用(无意义)、输出调用、赋值调用(推荐)。 public static int sum (int a ,
  • java普通方法和构造方法的区别

    千次阅读 2018-10-03 12:50:51
    普通方法:  语法:[修饰符] 返回值类型 方法名(参数){方法体}  返回值类型:void无返回值,还有基本数据类型  例:public void test(String name){System.out.println(name);} 构造方法:  语法:[修饰...
  • 在科学技术水平发展日新月异的今时今日,大家对于新技术的渴求越来越强烈,也开始主动的学习更...然后是构造方法和成员方法的区别A:格式区别构造方法和类名相同,并且没有返回类型,也没有返回值普通成员方法可以任...
  • 首先,回顾一下类对象的概念:类对象 在java中,一切皆对象 {类:指共性的概念,时生产对象的蓝图对象:类中一个具体的成员,对象之间的区别在于具体的属性值不同\begin{cases} 类:指共性的概念,时生产对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 635
精华内容 254
关键字:

java构造方法和普通方法的区别

java 订阅