首页编程java编程java为什么设置不了类 为什么JAVA创建新类 创建不了

java为什么设置不了类 为什么JAVA创建新类 创建不了

编程之家 2023-10-14 88次浏览

大家好,关于java为什么设置不了类很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于为什么JAVA创建新类 创建不了的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

java为什么设置不了类 为什么JAVA创建新类 创建不了

java运行显示“找不到或无法加载主类”!

该如何解决呢?解决办法如下:

1.由于是在运行阶段出现的问题,那么可能是环境变量配置不当的问题,即可能是classpath路径配置错误,而导致.class文件无法加载。那么此时你可以检查是否配置好classpath路径,一般来说classpath路径配置如下:

.;%java_home%\lib;%java_home%\lib\tools.jar;(注意前面的.以及;缺一不可)

java为什么设置不了类 为什么JAVA创建新类 创建不了

其中.表示当前路径,;表示分隔符。

2.如果你试过了很多次,classpath也配置对了,依旧出现这个错误,注意你使用的测试代码,是否在某一个包名的下面;

比如说如下测试代码:

java为什么设置不了类 为什么JAVA创建新类 创建不了

在文件所在的当前目录下,运行javac TestPlusPlus.java编译成功,生成TestPlusPlus.class文件,这个时

候,你用javaTestPlusPlus想运行程序,总会出现”找不到或无法加载主类“的错误。这个时候要注意,

之所以找不到,是因为TestPlusPlus在HelloWorld包名的下面。

解决办法:

1.去掉”packageHelloWorld;“重新用javac编译TestPlusPlus.java,再运行javaTestPlusPlus就可以了。

2.新建一个包名一样的文件夹,在本例中,为建立一个HelloWorld的文件夹,把TestPlusPlus.java文件移到该目录下。

然后在HelloWorld文件夹的平级下,打开DOS命令窗口,运行javacHelloWorld/TestPlusPlus.java编译程序,

运行javaHelloWorld/TestPlusPlus(或者javaHelloWorld.TestPlusPlus也可以),则可以运行含有包名的java程序。

注意:包名不要含有'.'(点),''(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,

从而还是找到或者无法加载主类。

原理说明:

java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。

为什么JAVA创建新类 创建不了

你遇到的问题简单地说就是:你没有为新的类创建个文件夹【eclipse中的包其实就是个专用的文件夹】。

你是用的什么工具?如果是netbean之类的话,新建的类需要放在文件夹(需要自己动手创建一个在项目中)中;如果是eclipse之类的工具的话就要方便些,需要把新的类放在包中。回答完毕。

java 封装性 为什么要把类的属性设置成私有的

我们来谈谈封装的思想:

封装就是将属性私有化,提供公有的方法访问私有的属性。

*实现封装的步骤:

(1)修改属性的可见性来限制对属性的访问。

(2)为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。

(3)在赋值和取值方法中,加入对属性的存取限制。

**为了实现良好的封装性,我们通常将类的成员变量声明为private,再通过

public的方法来对这个变量进行访问。对一个变量的操作,一般都有读取和

赋值操作,我们分别定义两个方法来实现这两种操作,一个是getxxx()(xxx

表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是

setxxx()用来对这个成员变量赋值。

**如果外面的程序可以随意修改一个类的成员变量,会造成不可预料的程序错误,

就象一个人的身高,不能被外部随意修改,只能通过各种摄取营养的方法去修

改这个属性。

public

class

accpteacher{

private

string

name;

private

int

age;

public

string

getname(){

return

name;

}

public

void

setname(string

name){

this.name

=

name;

}

public

int

getage(){

return

name;

}

public

void

setname(string

age){

if(age<22){

system.out.println("年龄不符合,太小!");

}else{

this.age

=

age;

}

}

}

****封装的优点:

(1)隐藏类的实现细节;

(2)让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制

逻辑,限制对属性的不合理操作;

(3)便于修改,增强代码的可维护性;

看我这个你应该明白为什么要将属性私有化。

java为什么不能用protected修饰类,

default权限为同一个包中的任何类可以访问该类。protected的权限为同一个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)可以访问该类。貌似看上去protected比default多了一个子类权限,但是这个权限前提是有子类。对于protected权限的类,根本无法在非该类所在包中创建子类。所以实际上,对于顶级类来说,protected修饰跟default是一样的。反而相比之下,protected修饰顶级类就显得没有任何意义了。

OK,本文到此结束,希望对大家有所帮助。

java attributes是什么?java的Struts配置&lt;Action attribute&gt;是什么意思 java类成员是什么,java类的成员有哪些