class Person
{
int age;
void shout()
{
int age = 60;
System.out.println("My age is " + age);
}
public static void main(String args[])
{
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
//p2.age = 90;
p1.shout();
p2.shout();
}
}
{
int age;
void shout()
{
int age = 60;
System.out.println("My age is " + age);
}
public static void main(String args[])
{
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
//p2.age = 90;
p1.shout();
p2.shout();
}
}
你用 java -classpath . Person 试试
这是为什么呢?
你编译通过了的吧?
编译通过了用java -classpath . Person运行试试,是什么结果。
下次帖错误信息最好贴完整一点,这样容易找到出错的地方。
要不就是找错了类,找到另一个地方编译好的Person类了,这个类没有main
classpath=D:\java;.;D:\tomcat\common\lib\servlet-api.jar难道上面的classpath路径是有顺序的? 先找到d:\java路径 , 然后才是本地路径(“.”) ?
java程序的名称 和你的 class 不同的话,就出这个错了。
-->
classpath=.;D:\java;D:\tomcat\common\lib\servlet-api.jar
int age; void shout() {
int age = 60;
System.out.println("My age is " + age);
}
}public class LianXi21 {
public static void main(String args[]) {
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
// p2.age = 90;
p1.shout();
p2.shout();
}
}
这么做行吗?
Exception in thread "main" java.lang.UnsupportedClassVersionError:
Person (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
不然这个类是private的怎么访问
不写public的意思是包外无法访问,同一包内可以访问
Exception in thread "main" java.lang.UnsupportedClassVersionError:
Person (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)--------------------------------------------------------------------------嘿嘿,这个就是说要jdk1.5,
那么这个class应该就命名成public class,LZ可以试一下
public class Person {
int age;
void shout() {
int age = 60;
System.out.println("My age is " + age);
} public static void main(String args[]) {
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
//p2.age = 90;
p1.shout();
p2.shout();
}
}
试一下?
没听说过啊!!!!
class Person {
int age;
Person(){}
void shout() {
System.out.println("My age is " + age);
}
public static void main(String args[]) {
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
p2.age = 90;
p1.shout();
p2.shout();
}
}
{}
class Person1
{
int age;void shout()
{
int age = 60;
System.out.println("My age is " + age);
}public static void main(String args[])
{
Person1 p1 = new Person1();
Person1 p2 = new Person1();
p1.age = 30;
//p2.age = 90;
p1.shout();
p2.shout();
}
}编译javac Person.java // 生成两个文件:Person1.class和P.class
运行java Person1
java P使用时要设上classpath = . 可以使用windows的设置变量设classpath。
int age;
void shout()
{
int age = 60;
System.out.println("My age is " + age);
}
{
int age;void shout()
{
int age = 60;
System.out.println("My age is " + age);
}public static void main(String args[])
{
Person p1 = new Person();
Person p2 = new Person();
p1.age = 30;
//p2.age = 90;
p1.shout();
p2.shout();
}
}
没问题呀,返回值为:
My age is 60
My age is 60