我主要需要搞清楚一个类的定义中的静态和非静态的问题。
静态的东西你可以认为是类的,只要类存在就可以使用。
而非静态的你可以认识是对象的,只有在生成对象实例之后才可能使用。一个类可以生成多个对象(实例),但是一个对象却只可能属于一个类。因为,对象可以调用类的成员,即非静态方法可以调用静态的方法和变量。但反过来却不行,因为静态方法(即类方法)并不知道它该调用哪一个对象的成员。而 main 方法是一个比较特殊的静态方法,因为它提供了对外的接口。但在这特殊之上,它具有一切普通静态方法的特点。它唯一与普通静态方法的不同之处在于它是对外的接口,仅此而已
静态的东西你可以认为是类的,只要类存在就可以使用。
而非静态的你可以认识是对象的,只有在生成对象实例之后才可能使用。一个类可以生成多个对象(实例),但是一个对象却只可能属于一个类。因为,对象可以调用类的成员,即非静态方法可以调用静态的方法和变量。但反过来却不行,因为静态方法(即类方法)并不知道它该调用哪一个对象的成员。而 main 方法是一个比较特殊的静态方法,因为它提供了对外的接口。但在这特殊之上,它具有一切普通静态方法的特点。它唯一与普通静态方法的不同之处在于它是对外的接口,仅此而已
这个程序不能执行,应该把哪个包加进去import java...........
public class Max
{
public static void main(String[] args)
{
int x,y;
x=Integer.parseInt(args[0]);
y=Integer.parseInt(args[1]);
System.out.println("max is "+Math.max(x,y));
}
}student这个类是写在花括号中的,没有把下面的括在一起,下面那个类也能用它。没有修饰符的类是不是默认为public,即下面的两个程序有区别吧?
class Student1
{
String name;
String sex;
static String school="西安市一个大学";
} //括号括到此,而下面程序括到结束
public class Myarchive
{
public static void main(String[] args)
{
Student1 my=new Student1();
Student1 you=new Student1();
my.name="黎明";
my.sex="male";
you.name="刘德华";
you.sex="female";
Student1.school="shanghai university of electric power ";
System.out.println(my.name+" "+my.sex+" "+my.school);
System.out.println(you.name+" "+you.sex+" "+you.school);
}
}
class Circle1
{
float r;
final double PI=3.1415926;
public double area()
{
return PI*r*r;
}
float setR(float x)
{
r=x;
return r;
}
public double perimeter()
{
return 2*PI*r;
}public static void main(String[] args)
{
double x,y;
Circle1 cir=new Circle1();
cir.setR(12.35f);
x=cir.area();
y=cir.perimeter();
System.out.println("the area is "+x+"\n"+"the perimeter is "+y);
}
}
对象是不是只能在主方法中使用。下面的两个程序有区别吧,我关键搞不清楚括号的用法,即类与类之间是怎样用的,谁能用谁,谁不能用谁?class Tri_sele{
static class Triangle
{
int x,y,z;
public Triangle(int i,int j,int k)
{
x=i;
y=j;
z=k;
}
}public static void main(String[] args)
{
Triangle t1;
t1=new Triangle(3,4,5);
if(judge(t1))
System.out.println("It is a zhijiao Triangle");
else
System.out.println("It is't a zhijiao Triangle");
}
public static boolean judge(Triangle m)
{
if((Math.sqrt(m.x*m.x)+m.y*m.y)==Math.sqrt(m.z*m.z))
return true;
else
return false;
}
}class Triangle
{
int x,y,z;
public Triangle(int i,int j,int k)
{
x=i;
y=j;
z=k;
}
public static void main(String[] args)
{
Triangle t1;
t1=new Triangle(3,4,5);
if(judge(t1))
System.out.println("It is a zhijiao Triangle");
else
System.out.println("It is't a zhijiao Triangle");
}
public static boolean judge(Triangle m)//这儿为什么可以用Triangle m
{
if((Math.sqrt(m.x*m.x)+m.y*m.y)==Math.sqrt(m.z*m.z))
return true;
else
return false;
}
}希望大家帮我解释问题///
我现在特别晕,关系搞不懂,帮忙解决一下????????
默认类是default,但不但可以在一个类中调用,也可以在整个一个包中调用
你一次给的问题太多了吧!程序都连在一起了,两个两个的发
大概看了一下,你这些问题大概会涉及到这些知识,时间有限,只好麻烦你自己去找找资料看看了。如果我要写出来,还得花个几十分钟才行:1. 限定符 public, protected, private 和默认限定符的区别(默认不表示 pulic,表示 package,但 package 这个词不是限定符)
2. 内部类的使用
3. 对象的作用范围(成员,静态成员这些东西的作用范围)大概就这些吧。
顺便说一下,对象并不只能在 main 中使用。任何一个地方定义的变量都有它的作用范围,在这个范围之内它都有效。
class Student1
{
String name;
String sex;
static String school="西安市一个大学";
} //括号括到此,而第二个程序括到结束,他们之间区别
public class Myarchive //*这个类怎么能用上面那个类吗???他不是括在上面哪个类的外面吗
{
public static void main(String[] args)
{
Student1 my=new Student1();
Student1 you=new Student1();
my.name="黎明";
my.sex="male";
you.name="刘德华";
you.sex="female";
Student1.school="shanghai university of electric power ";
System.out.println(my.name+" "+my.sex+" "+my.school);
System.out.println(you.name+" "+you.sex+" "+you.school);
}
}//第二个程序
class Circle1
{
float r;
final double PI=3.1415926;
public double area()
{
return PI*r*r;
}
float setR(float x)
{
r=x;
return r;
}
public double perimeter()
{
return 2*PI*r;
}public static void main(String[] args)
{
double x,y;
Circle1 cir=new Circle1();
cir.setR(12.35f);
x=cir.area();
y=cir.perimeter();
System.out.println("the area is "+x+"\n"+"the perimeter is "+y);
}
}
我怎么知道一个类可以用到其他类的成员与方法???????
不过执行顺序是按照main方法调用顺序执行的~~
另外回答楼住的问题:
main方法必须写在类中,不能像以前学习c语言时,只是简单的函数调用,而在java中是类与类之间
发生关系(调用);另外如果你写的是一个应用程序(不是Applet)那么在一个java文件中必须含有
且只能含有一个main方法~~
当在控制台执行 “java 类名” 的时候,JVM 会去类名所指的类中去寻找上述方法,如果找到就开始执行,如果没有找到,就会抛出异常。JVM 在 CLASSPATH 中寻找用到的包,在这些包中寻找用到的类,并根据类定义时的限定符确定这个类是否可以访问以及可以如何访问和访问哪些东西。public class 是都可以访问的。
包 class,即没有限定符的 class 是只有同一个包中的类才可以访问的。
private class 是其它类不可能访问的——这样的类也没有什么意义了。
protected class —— 我从来没有这样定义过,也没见谁这样定义过。其实际意义应该是只有子类可以访问。而类成员的修饰也是如此。