JAVA中,可以给main函数定义一个构造函数吗?谢谢

如题所述

ansn001 20:19:31
不可以
构造函数是针对于类的
类可以有构造函数
main是一个特殊的静态方法
摩羯座<YMY1248227142> 20:19:55
主函数也在一个类里面啊
ansn001 20:20:04
那是局部分类
部分类
那个构造函数也是在类里的
单独在方法里写构造函数是错的。
构造函数的本质就是来初始对象的
摩羯座<YMY1248227142> 20:20:59
public class GG {
public static void main(String a[])
{

GG cc=new GG();
。。。。。 }
那这里的new GG();是在干什么?

ansn001 20:21:37
。。。。。这个是创建对象呀。这个不是构造函数
摩羯座<YMY1248227142> 20:21:49
那我写到main之外,public类之内可以不?
ansn001 20:21:52
构造函数应该是这样的
public class GG{
public GG(){}
}
摩羯座<YMY1248227142> 20:22:06
他也是在调用构造函数噻
ansn001 20:22:13
可以。它就成为一个成员变量,或者叫字段
它是在调用构造函数。可是它现在是在创建一个对象
我们说了构造函数是作用于类的初始化的
摩羯座<YMY1248227142> 20:22:32
估计也没多大必要是吧?
ansn001 20:22:52
啥???没必要?
摩羯座<YMY1248227142> 20:23:30
写个构造函数在main之外,public类之内
ansn001 20:23:54
这主要看你有没有需求
摩羯座<YMY1248227142> 20:24:00
创建一个对象肯定就调用了它的构造函数嘛
ansn001 20:24:05
一般不写在带有Main的类中有构造函数
这个类也叫主类
摩羯座<YMY1248227142> 20:24:25
我从未见过public类里有构造函数。。。
ansn001 20:24:39
。。。呵呵,那是你还没学到
这样吧。我小个小demo
摩羯座<YMY1248227142> 20:25:03
虽没学到,但是我想到了,哈哈
ansn001 20:25:20
恩。等我一分钟
摩羯座<YMY1248227142> 20:25:46

ansn001 20:26:57
public class Student {
public String name;
public int age;

//无参构造函数
public Student(){}
public Student(String name,int age){
this.name=name;
this.age=age;
}
public static void main(String[] args) {
Student stu1=new Student();
Student stu2=new Student("1",1);
Student stu3=new Student();
stu3.name="1";
stu3.age=11;
}
}
前面两个构造函数
一个无参一个带参
具体用途你看main方法
第一种。我们不知道学生信息,可以这样new
第二种,我直接带名字和年龄
第三种,也是带名字和年龄。不过要赋值
显示第二种比第三种,方便
而且关键的是如果我现在一个系统。要求学生必须带名字和年龄的话
摩羯座<YMY1248227142> 20:28:37
哦,那看来public类里还是有个默认的无参构造函数
ansn001 20:28:45
我的Student里只有
public Student(String name,int age){
this.name=name;
this.age=age;
}其他的都无效
是的
系统自动提供一个默认的构造函数
前提是你自己没写构造函数
一定你自己手写的话,这个默认构造函数失效
比如
public String name;
public int age;

public Student(String name,int age){
this.name=name;
this.age=age;
}
public static void main(String[] args) {
Student stu1=new Student();
Student stu2=new Student("1",1);
}
摩羯座<YMY1248227142> 20:29:31
我的Student里只有
public Student(String name,int age){
this.name=name;
this.age=age;
}其他的都无效
ansn001 20:29:37
此时第一个new会报错
摩羯座<YMY1248227142> 20:29:38
这是什么意思?
我的Student里只有
public Student(String name,int age){
this.name=name;
this.age=age;
}其他的都无效这是什么意思?
ansn001 20:30:26
public String name;
public int age;

public Student(String name,int age){
this.name=name;
this.age=age;
}
public static void main(String[] args) {
Student stu1=new Student();
Student stu2=new Student("1",1);
}
发错了
看这个
public String name;
public int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public static void main(String[] args) {
Student stu1=new Student();//会报错
Student stu3=new Student("1");//会报错
Student stu2=new Student("1",1);//必须完全匹配才OK
}
摩羯座<YMY1248227142> 20:31:05
嗯,这个看得懂
ansn001 20:31:09
在严谨的程序中会提供各种各校的构造函数
一般不会有空的构造函数
一是防止因为手误少写参数
导致程序意外错误
第二个减少代码
摩羯座<YMY1248227142> 20:32:08
哦,谢谢啦
温馨提示:内容为网友见解,仅供参考
无其他回答

java含有main函数的类的构造方法执行的疑问?
答:可以。类可否被实例化跟类的内容无关,只需要参考该类的定义,只有虚基类不可被实例化(当然没有访问权限的更不可能)。3、开始做了总结性的阐述,上面两个问题的解答也都附带了简要的说明(应该说比较详细了)。

Java中构造函数是什么?它应该具体怎么用呢?
是构造方法,不是构造函数,后者是C++的概念首先要注意的是Java的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。 构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符...

构造函数何时被调用?
A a ; 定义一个对象a的时候, 就调用构造函数,默认构造函数都是无参数的 ,构造函数就相当给对象a初始化而已,就相当于c语言中 int a = 3 初始化a的值而已,因为你在类中是不能直接给private中的类成员赋值的,所以就靠构造函数,不过要注意有参构造和无参构造,默认都是无参的,比如你A a...

在JAVA 中为什么在父类中定义了一个构造函数,而在其子类中却一定的要...
子类不一定非要写一个构造函数。(1)如果你有需要加入参数来构造一个类实例的话,那你就可以写一个,但是写前需要第一句是“super();”这是调用父类的构造方法。(2)如果你没有特定的要求,那就可以不写,java虚拟机会在编译的时候给你自动添加一个无参数的构造方法。下面是写构造方法的注意事...

JAVA的构造函数是怎么写的。万分感谢。路过的请不要嘲笑%>_<%_百度...
在定义类的时候,如果没有给类定义一个构造方法,Java编译器在编译时会默认提供一个隐式的构造方法,它没有任何参数,并且有一个空的方法体。例如,Person类中隐含一个无参构造方法,在main方法中可以通过new关键字来调用此默认的构造方法,代码如下:2、显式无参构造方法 隐式无参构造方法是由系统...

低分麻烦大家给我做个main方法总结
好像C夏普里main可以不用public,java里一定要用。... main方法用得最多,但又不很了解。我想知道main方法在C夏普和java里面的格式区别。好像C夏普里main可以不用public,java里一定要用。 展开  我来答 1个回答 #热议# 《请回答2021》瓜分百万奖金 百度网友bddda4a 2008-08-15 · TA获得超过225个...

如何定义一个构造方法
public static void main(String[] args) { Student s1 = new Student();System.out.println(s1);Student s2 = new Student(8);System.out.println(s2);...>> 问题七:C# 怎么定义一个构造函数? public class Class1 { public Class1(string p1){ } public class1(string p1,string p2)...

java构造函数有什么用,怎么用
Java构造函数的定义遵循以下规则:1. 构造函数的名称必须与类名完全相同。2. 构造函数没有返回类型。3. 可以在构造函数中调用其他方法或赋值给对象属性等。以下是一个简单的例子:代码示例:假设有一个名为Person的类,它有一个构造函数用于初始化名字和年龄属性。java public class Person { private ...

Java构造函数里面可以定义函数吗
Java构造函数里面可以调用函数,不能定义函数 例如:不能这样:这是错误的

JAVA中构造方法和普通方法的区别
必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点 ...

相似回答