Java程序类型: Applications和Applet
Applications:
是指在计算机操作系统中运行的程序。
是完整的程序,能独立运行。
被编译后,用普通的Java解释器就可以使其边解释边执行。
必定含有一个main方法,程序执行时,首先寻找main方法,并以此为入口点开始运行,含有main方法的类常被称为主类,因此Applications都含有一个主类。
必须另外编写专用代码来创建自己的图形界面。
Applet:
是为Internet上工作的Java小程序,支持Java的浏览器运行。
可以使用任何Java开发工具创建,但必须包含或嵌入到网页中去。
Applet不可以单独运行,必须依附在网页并嵌入其中,当网页显示在浏览器后,Applet就可以被加载并执行。
运行Applet程序的解释器不是独立的软件,而是嵌在浏览器中,作为浏览器的一部分。必须通过浏览器或者Applet Viewer才能执行。
没有含有main方法的主类(不能独立自主运行的原因)。
可以直接利用浏览器或者Applet Viewer提供的图形用户界面。
Java体系包括三大块:Java ME(java微型版)、Java SE(标准版)✔️、Java SE(企业版)
注释
无论是什么语言,什么程序,都可以command+/来直接出注释,也可以选中想选的部分,直接command+/注释掉
文档注释使用/**…*/进行标记,并写入Javadoc文档.文档注释用于生成HTML格式的代码报告,写在最前面. 使用Javadoc命令可以为代码生成类似Java API文档的HTML格式文档,代码中的文档注释会体现在此HTML文档中.文档注释可按照HTML语法进行修饰.
例如:<h1>main方法负责输出Hello</h1>
注释标签 | 说明 |
@auther | 对类的说明,标明开发该模块的作者 |
@version | 对类的说明,标明该模块的版本 |
@see | 对类,属性,方法的说明 |
@param | 对方法中某参数的说明 |
@return | 对方法返回值的说明 |
@exception | 对方法可能抛出的异常的说明 |
/**
*〈h1〉main方法负责输出Hello〈/h1〉
*@
*@
*/
平时单行注释可以使用//
块注释:/*…*/
文档注释:/**…*/
编译Java文件
可以选择在eclipse里编译Java,也可以在控制台(终端)上编译Java文件。
写e:然后敲回车(Java源文件在e盘里),文件在哪个盘里面,就c:,d:,e:→cd 下一步的文件名然后继续cd下一步的文件名(或者直接打开文件,然后复制路径,或者是cd+复制粘贴过来路径)
或直接在文件页面:按住shift键然后右键在此处打开,就可以了。
如果要一级级往上走,返回上一级的命令:cd.. 返回根目录的命令:cd \
在终端上使用javac对Java.Java文件进行编译生成java.class文件,再使用java命令对编译好的hello.class文件进行执行,终端上就会显示执行结果。
Java文件命名
java源文件的命名规则:
如果有public类,那么源文件名就是public类的类名(一个文件中只能有一个public类),而类名命名规则是:类的名字必须由大写字母开头而单词中的其他字母均为小写;
如果类名称由多个单词组成,则每个单词的首字母均应为大写,如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,命名类时应尽量选择名词。
如果没有public类,就和遵循文件名命名规则。
例如:以下代码中有两个类,且没有public类,在对该文件命名时,就可将文件名命名为Demo.java或Demo1.java。这个javac编辑后,会生成两个 以.class 结尾的文件,执行时可以java Demo或java Demo1,=》这说明一个源文件中可以存在多个类,每个类中都可以有main主方法。也就是说一个JAVA文件中可以有多个main方法。
class Demo
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
class Demo1
{
public static void main(String[] args)
{
System.out.println("Hello Java");
}
}
执行java Demo,输出:Hello World
执行java Demo1,输出:Hello Java
包
不出意外,新生成的类里面会自动含有这一句:package com.dh.ch; 意思是该类属于ch包下的dh包下的com包。package:包
使用package关键字定义一个包,使用包可以对类进行组织,与其他来源代码库中的类分割开来,确保类名的唯一性,如果不指定所属的包,则此时类位于默认包中。即类在哪个包中创建,就属于哪一个包。
包可以分级,多级的包之间使用”.”进行分隔.(通常逆序来写). 例如上面的package com.dh.ch;
package 语句必须作为java源文件的第一句.一个java源文件中,最多只有一条package语句.但可以有多条 import 语句.
多个源文件可以定义相同的包。一个源文件只能属于一个包,但一个包里面可以有多个源文件。
包的导入:import包名.*;//*表示导入指定包中所有的类.
例如import java.uti.*;就表示导入uti.包中的所有类。
也可以在使用的类名前直接添加完整的包名.无需使用import导入包.
例如:
import mypackage . shool. Student;
Student tom = new Student ();
可以变成 mypackage. school. Student tom = new mypackage. school.Student();
在使用date这个Java里经常使用的类时,需要注意,看看需要哪个再导入哪个包。
java中同时存在两个Date类,但分别属于java.util和java.sql.
类
类的定义
1.[访问符][修饰符] class <类名>
访问符:用于声明类/属性/方法的访问权限, public protected private
修饰符:定义类的特性: abstract(抽象) static(静态) final(最终).
(在定义类的时候,修饰符不是必须的.)
2.类名不要忘记首字母大写
3.在面向对象时,定义类时,专门为描述对象提供一个类,该类不需要main方法.
访问修饰符
1.类前面只有public 和缺省(啥都不写)两种,没有其他的修饰符.
2.使用protected 访问修饰符时:允许类本身、同一包中的所有类、所有子类访问该类.
3.使用private访问修饰符只允许类本身中的其他成员访问,不能被类外看到.
3.缺省的可以被同一包中的所有类访问.(又称为包权限,不能被导入的包访问).
4.缺省(friendly) 不是关键字,只是一种称谓.
对象的创建
对象拥有属性和方法。
1、创建对象。
通过new关键字来创建该类型的对象(new用于为对象动态分配内存空间,只在运行时分配)
例如:Rectangle rectangle ;/*创建对象名,此时系统为引用类型变量rectangle分配内存空间.但只是定义了名为rectangle的变量,未进行初始化.*/
rectangle = new Rectangle(3,5); /*创建对象,并分配空间。先创建一个Rectangle类型的对象,为新对象分配内存空间来存储该对象的所有属性,并默认初始化.*/
或Rectangle rectangle = new Rectangle();//这样就new出了一个名叫rectangle的对象。
1、rectangle
空 |
2、Rectangle
空 |
OX1b1c6(是rectangle的地址)
Rectangle |
Width = 0 Length = 0 (初始化之前) |
|
(执行构造方法时,width和length的值会变成3和5.接下来rectangle 箭头指向OX1b1c6)
如果不想给对象分配内存空间,则Rectangle rectangle = null;(可以将null赋给引用类型变量(Object),但是不可以赋给基本类型变量(int) ),null还可以用来释放内存,即将变量指向null;
2、使用对象
使用对象时,用” . ”来访问.
//访问对象的属性 :对象名.属性
//访问对象的方法 : 对象名.方法名();
//若方法由static 关键字修饰,调用方式: 类名.方法名()
3、构造方法
构造方法是一种特殊的方法,用于当对象被创建时初始化对象中的属性,即可以给对象赋值.
构造方法的名字必须与其所在类的名字相同,且没有返回类型.
4、类的方法
[访问符][修饰符]<返回类型> 方法名 ([参数列表]){
//方法体
}
方法的返回类型是该方法运行后返回值的数据类型.
5、抽象类
抽象类:在普通类的基础上扩充了一些抽象方法(0~n)的类(抽象类是普通类的超集),使用abstract关键字定义。抽象类不能直接产生实例化对象,因为抽象类是“半成品”,无法直接使用。不能直接new
抽象方法:使用abstract 关键字定义并且没有方法体(方法后面的()就是方法体)的方法。抽象方法所在类一定是抽象类。
6、static类
在Java中,可以将一些成员限制为“类相关”的。如果不是“类相关“,则其使用必须要通过声明实例来完成。“类相关”就是在类的成员前面加上“static”关键字,从而直接通过类名访问。
与类相关的变量与方法称为类变量或类方法,类变量和类方法也称为静态变量和静态方法.与实例相关的变量与方法称为实例变量与实例方法。
静态变量用的比较少,但静态常量经常使用。
例public static final String PASSWORD = “12345”;
在Java中,类的静态变量和静态方法在内存中只有一份,为该类的所有对象共用,访问时,可通过类名。
7、实例化对象
实例化对象,就是创建对象的过程.如果类是静态类,则可以直接调用类中的方法进行创建. 如果类不是静态类,则需要用对象引用,对象new出来.即A a = new A(); a. CallMethod(); (先new出来a,在a.方法名())
new A()就是实例化对象.
对象放在堆里面,但对象名称是放在栈里面的。
对实例进行解析
java程序是由类组成的,java应用程序必须有一个包含main方法的public类,main方法是程序的入口;
一个java文件最多只能有1个public class(暗示可以没有)。
package text;
public class Text {
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello");
}
}
第一行package关键字说明该类在text包中。
第三行 class表明这是一个类,前面有public,则说明是公共类,整个文件都可以访问的它。那么源文件名就会是Text.java(源文件名要和公共类的类名完全一致)。
这个类里面只有一个方法——main()方法,C语言的函数,在Java里叫做方法。回归类型是void。