java之public class和class声明区别详解
Java关键字详解

Java关键字详解1.访问控制1)private私有的private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。
只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。
在类的外部或者对于子类而言,它们是不可见的。
所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
2)protected受保护的protected 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。
可以在声明 protected 类、方法或字段的类、同一个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)中引用这些类、方法或字段。
所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
3)public公共的public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。
可能只会在其他任何类或包中引用 public 类、方法或字段。
所有类成员的默认访问范围都是 package 访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。
2.类、方法和变量修饰符1)abstract声明抽象abstract关键字可以修改类或方法。
abstract类可以扩展(增加子类),但不能直接实例化。
abstract方法不在声明它的类中实现,但必须在某个子类中重写。
采用 abstract方法的类本来就是抽象类,并且必须声明为abstract。
2)class类class 关键字用来声明新的 Java 类,该类是相关变量和/或方法的集合。
类是面向对象的程序设计方法的基本构造单位。
类通常代表某种实际实体,如几何形状或人。
类是对象的模板。
每个对象都是类的一个实例。
要使用类,通常使用 new 操作符将类的对象实例化,然后调用类的方法来访问类的功能。
Java中各种关键字的作用及区别

姓名:范爽学号:2014218449一、this super static abstract public private 各自的用法(一)this1. this是指当前对象自己。
当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this 引用。
如下面这个例子中:public class A {String s = "Hello";public A(String s) {System.out.println("s = " + s);System.out.println("1 -> this.s = " + this.s);this.s = s;System.out.println("2 -> this.s = " + this.s);}public static void main(String[] args) {new A("HelloWorld!");}}运行结果如下:s = HelloWorld!1 -> this.s = Hello2 -> this.s = HelloWorld!在上述例子中,构造函数A中,参数s与类A的变量s同名,这时如果直接对s进行操作则是对参数s进行操作。
若要对类A的变量s进行操作就应该用this进行引用。
运行结果的第一行就是直接对参数s进行打印结果;后面两行分别是对对象A的变量s进行操作前后的打印结果。
2. 把this作为参数传递当把自己作为参数传递给别的对象时,也可以用this。
如:public class A {public A() {new B(this).print();}public void print() {System.out.println("Hello from A!");}}public class B {A a;public B(A a) {this.a = a;}public void print() {a.print();System.out.println("Hello from B!");}}运行结果如下:Hello from A!Hello from B!在上述例子中,对象A的构造函数中,用new B(this)把对象A自己作为参数传递给了对象B的构造函数。
java中class的作用

java中class的作用在Java中,class是一种用于定义对象的模板或蓝图的重要概念。
它结合了数据和方法,通过实例化来创建对象。
class提供了一种组织代码的方式,将相关的属性和行为集中在一个地方,从而增强了代码的可读性和维护性。
以下是Java中class的主要作用:1. 抽象和封装:class提供了一种将数据和相关操作封装在一起的能力。
通过定义类,我们可以将一组具有相似特征和行为的对象抽象为一个类。
通过对外隐藏内部细节,类还提供了更高的抽象级别,使我们能够思考问题和设计解决方案。
2. 对象的创建:class是创建对象的模板。
通过使用关键字"new"和类名,我们可以实例化一个类,并创建应用程序中的对象。
每个对象都有自己的内存空间,保存了由类定义的属性的值,并可以执行该类定义的方法。
3. 继承:class支持继承的概念,使得我们可以基于现有类创建新类,并继承其属性和方法。
继承是面向对象编程中的重要原则之一,它提供了代码重用的机制,避免了重复编写相似的代码。
4. 多态性:class的另一个重要概念是多态性。
多态性允许我们使用基类的引用来引用派生类的对象。
这意味着如果一个类继承自另一个类,它可以使用父类的方法和属性。
多态性增加了代码的灵活性和可扩展性。
5. 封装和访问控制:class支持封装的概念,允许我们将数据和方法隐藏在类内部,并限制对其的访问。
通过使用可见性修饰符(如private, public, protected),我们可以控制哪些部分可以在类的外部访问。
这使得我们可以实现数据的安全性和灵活性。
6. 模块化和代码组织:class是模块化的基础。
它可以让我们将代码组织成一组相关联的类。
每个类负责完成特定的任务,并且可以通过方法调用和对象之间的交互进行沟通。
这种模块化的方法可以使代码更易于理解、调试和维护。
7. 抽象数据类型(ADT):class允许我们创建抽象数据类型(ADT)。
第一行代码_Java-章后习题及综合测试题答案

附录2:习题答案第1章:Java简介——自我检测(答案)1、填空题1、Java源程序文件的后缀是*.java ,Java字节码文件的后缀名称是*.class 。
2、Java程序实现可移值性,依靠的是JVM 。
3、Java语言的三个分支是:JA V A SE 、JA VA ME 、JA V A EE 。
4、Java程序由类组成,如果Java使用public class 声明类,则文件名称必须与类名称一致。
5、Java执行是从main() 方法开始执行的,此方法的完整定义是public static void main(String args[]) 。
6、从命名标准上来讲,Java类名的每个单词的首字母通常要求大写。
7、当使用java命令解释一个程序时,一定需要classpath 环境属性来定位类资源路径;2、选择题1、下面那个是属于解释Java程序所使用到命令?(A)A、java.exeB、javac.exeC、keytool.exeD、cmd.exe2、下面的那个环境变量java解释时所需要的 B 。
A、pathB、classpathC、JA V A_HOMED、TEMP3、下面那一种开发方向不属于Java定义的? CA、JavaSEB、Java EEC、JavaCED、JavaME3、判断题1、Java语言属于编译型的开发语言。
(×)2、Java Application程序不是由main()方法开始执行的。
(×)4、简答题1、简述Java实现可移值性的基本原理。
答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class 文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。
java中修饰符的用法

java中修饰符的用法在Java中,修饰符是用来控制访问级别和行为的关键字。
Java中的修饰符可以应用在类、方法、变量和构造函数上。
修饰符主要分为访问修饰符和非访问修饰符两类。
一、访问修饰符:1. public:该修饰符表示对任意代码片段都是可见的。
被public修饰的类、方法、成员变量都可以在任何位置被访问。
2. protected:该修饰符表示对子类和同一包中的代码片段可见。
被protected修饰的方法和成员变量可以在子类中访问。
3. private:该修饰符表示对同一类中的代码片段可见。
被private 修饰的方法和成员变量只能在同一个类中访问。
4.默认修饰符:当没有使用任何访问修饰符时,表示为默认访问修饰符。
默认修饰符表示对同一包中的代码片段可见,但对其他包中的代码片段不可见。
二、非访问修饰符:1. static:该修饰符表示成员变量或方法属于类而不是实例。
被static修饰的成员变量在类的所有实例中都共享相同的值,被static修饰的方法可以直接通过类名调用。
2. final:该修饰符表示被修饰的类、方法或变量的值无法更改。
被final修饰的类无法被继承,被final修饰的方法无法被重写,被final 修饰的变量只能被赋值一次。
3. abstract:该修饰符表示被修饰的类是抽象类,不能被实例化。
被abstract修饰的方法没有具体的实现,只有声明,需要在子类中进行实现。
4. synchronized:该修饰符表示同一时间只能有一个线程访问被修饰的代码段或方法。
多个线程在访问该代码段时,会依次进行排队访问,提供了多线程的安全性。
5. transient:该修饰符表示被修饰的成员变量在序列化时会被忽略,不会被保存。
6. volatile:该修饰符表示被修饰的成员变量的值在多线程环境下都是可见的。
当一个线程修改了该成员变量的值,其他线程都能立即看到该修改。
这些修饰符可以在不同的位置使用:1. 类的修饰符:可以使用public、abstract或final来修饰类。
JavaClass类解析

1.Class对象Class对象包含了与类相关的信息。
事实上,Class对象就是用来创建类的所有的“普通”对象的。
类是程序的一部分,每个类都有一个Class对象。
换言之,每当编写并且编译了一个新类,就会产生一个Class对象(恰当地说,是被保存在一个同名的.class文件中)。
在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机(JVM)首先检查这个类的Class对象是否已经加载。
如果尚未加载,JVM就会根据类名查找.class文件,并将其载入。
一旦某个类的Class对象被载入内存,它就被用来创建这个类的所有对象。
看下面示例。
SweetShop.javapackage com.zj.sample;class Candy {static {System.out.println("Loading Candy");}}class Gum {static {System.out.println("Loading Gum");}}class Cookie {static {System.out.println("Loading Cookie");}}public class SweetShop {public static void main(String[] args) {System.out.println("inside main");new Candy();System.out.println("After creating Candy");try {Class.forName("com.zj.sample.Gum");} catch (ClassNotFoundException e) {System.out.println("Couldn't find Gum");}System.out.println("After Class.forName(\"Gum\")");new Cookie();System.out.println("After creating Cookie");}}结果:Loading CandyAfter creating CandyLoading GumAfter Class.forName("Gum")Loading CookieAfter creating Cookie2.获取Class实例的三种方式1)利用对象调用getClass()方法获取该对象的Class实例。
JAVA开发实战经典-课后习题答案

********* Java 程序设计 *********
*************************************
答案:
public class TestDemo {
public static void main(String[] args) {
System.out.println("*************************************");
A、 2、6、6
B、 4、9、9
C、 4、6、12
D、 3、9、9
12、 以下的 B 能正确表示Java语言中的一个整型常量。
A、 35.d
B、 -20
C、 1,234 D、 "123"
13、 下面的数据类型 D 是float型
A、 33.8
B、 129
C、 89L
D、 8.6F
14、 下列关于自动类型转换的说法中,正确的一个是 B 。
是 *.class 。 7、 布尔型数据类型的关键字是 boolean ,有 true 和 false 两种取值。 8、 整型数可以采用 byte 、 short 、 int 和 long 四种类型表示。 9、 根据占用内存长度的不同将浮点型分为 float 和 double 两种。 10、 Java程序结构分为: 顺序结构 、 分支结构 、 循环结构 三种。 11、 逻辑表达式:true&&false&&true的结果是 false 。 12、 逻辑表达式:!true||false的结果是 false 。 13、 在方法中可以使用 return 语句来结束方法的执行。 14、 方法中的 void 关键字用来表示方法不返回任何值。
java中类的名词解释

java中类的名词解释在Java中,"类"是一个非常重要的概念,它是面向对象编程的基础。
下面是关于"类"的一些名词解释:1. 类(Class): 类是对象的抽象,描述了一组具有相同属性(变量)和方法(函数)的对象的共同特性。
它定义了对象的属性(变量)和方法(函数)。
2. 对象(Object): 对象是类的实例。
也就是说,当你创建类的一个实例时,你得到的是一个对象。
每个对象都有其自己的属性值。
3. 实例变量(Instance Variables): 实例变量是属于对象的变量,每个对象都有其自己的实例变量的拷贝。
4. 方法(Methods): 方法是类中的函数,用于执行特定的操作。
你可以通过对象来调用方法。
5. 构造函数(Constructor): 构造函数是一个特殊的方法,用于初始化新创建的对象。
当你创建一个新的对象时,构造函数会被自动调用。
6. 继承(Inheritance): 继承是面向对象编程的一个重要特性,允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。
7. 封装(Encapsulation): 封装是面向对象编程的另一个重要特性,它隐藏对象的内部状态并防止直接访问。
我们只能通过对象的方法来与对象交互。
8. 多态(Polymorphism): 多态允许我们以多种形式表示一个对象。
例如,如果一个基类引用指向一个子类对象,那么可以通过这个引用调用子类的方法,这就是多态。
以上就是Java中关于"类"的一些基本名词解释。
希望对你有所帮助!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java之public class和class声明区别详解(转)
在编写类的时候可以使用两种方式定义类:
public class定义类:
class定义类:
如果一个类声明的时候使用了public class进行了声明,则类名称必须与文件名称完全一致。
范例:定义一个类(文件名称为:Hello.java)
public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词的首字母大写public static void main(String args[]){ //主方法
System.out.println("Hello World!!!"); //系统输出,在屏幕上打印
}
};
此类使用public class声明,类名称是Hello Demo,但是文件名称Hello.java,所以,此时编译时会出现如下问题:
Hello.java:1 类HelloDemo 是公共的,应在名为HelloDemo.java文件中声明
public class HelloDemo{ //声明一个类,类名称的命名规范:所有单词首字母大写
1、错误
以上的错误提示表示:因为使用的是public class声明,所以类名称应该与文件名称完全一致,即应该使用"HelloDemo.java"表示类的名称。
如果类的声明使用了class的话,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的名称。
范例:有如下代码(文件名称为:Hello.java)
class HelloDemo{
public static void main(String args[]){
System.out.println("Hello World!!!");
}
};
文件名称为Hello.java,文件名称与类名称不一致,但是因为使用了class声明所以,此时编译不会产生任何错误,但是生成之后的*.class文件的名称是和class声明的类名称完全一
只能有一个public类是为了给类装载器提供方便。
一个public 类只能定义在以它的类名为文件名的文件中。
class a 表示默认的访问级别,即只有包内的其他类能访问它
(严格来说应该是class A,类名一般大写)
小应用程序只有一个类,一方面是因为定义的类越多,程序执行就越缓慢(需要多装载几个类),另一方面是为了处理的方便,因为只有一个类时,编译之后就只有一个.class文件,如果是多个类,编译之后就有几个.class文件,这时候就要打包成.jar文件,再添加到相应的HTML文件标记中,这样显然更麻烦了。