java语法和其他语言基本语法大同小异。我觉得学习新事物要举一反三,触类旁通,这样学习进度更快。
运行程序
我们运行第一个程序,打印Hello World
public class HelloWorld {
//程序的入口
public static void main(String[] args) {
//打印Hello World
System.out.println("Hello World");
}
}
类
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
定义一个类Person,有两个成元变量name,age,一个类变量SKIN_COLOR,一个局部变量,有一个构造方法及两个setter getter方法及三个普通方法。请看注释,
//Person是个类 name和age是成员变量
//成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
public class Person {
String name;
Integer age;
static String SKIN_COLOR = "RED";//类变量,用static修饰,定义在类中,方法体外,生命为static类型。
public Person(String name) {//构造方法 每个类都有构造方法。如果没有自定义的类构造方法,Java编译器将会为该类提供一个默认构造方法。
//构造方法名必须和类名同名,一个类可以有多个构造方法。
System.out.println("My name is :" + name);
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
void hungry() {
String food = "meat";//局部变量,只在此方法内有效果。在方法、构造方法或者语句块中定义的变量被称为局部变量。
//变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
}
void walk() {
}
void sleep() {
}
}
创建对象
对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。
class Dog{
public Dog(String name) {
//这个构造器仅有一个参数:name
System.out.println("小狗的名字是 : " + name );
}
}
public class HelloWorld {
public static void main(String[] args) {
Dog dog= new Dog("san");
}
}
访问实例变量和实例方法,通过已经创建的对象访问类中的实例变量和实例方法。
/* 实例化对象 */ ObjectReference = new Constructor();
/* 访问类中的变量 */ ObjectReference.variableName;
/* 访问类中的方法 */ ObjectReference.methodName();
备注
一个源文件可以有很多类,但只能有一个public类。
源文件的名称应该和public的类名称一致。
如果一个源文件定义一个包中,那么package语句应该在源文件首行。
如果源文件有import语句,应该定义在package和类定义之间。
包主要用来对类和接口进行分类。import语句就是用来提供一个合理的路径,是编译器可以找到某个类。类似于C++的inlcude。
如果import java.io.*;此命令行将会命令编译器载入java_installation/java/io路径下的所有类
问答成员变量和静态变量的区别
1、成员变量所属于对象。所以也称为实例变量。
静态变量所属于类。所以也称为类变量。
2、成员变量存在于堆内存中。
静态变量存在于方法区中。
3、成员变量随着对象创建而存在。随着对象被回收而消失。
静态变量随着类的加载而存在。随着类的消失而消失。
4、成员变量只能被对象所调用 。
静态变量可以被对象调用,也可以被类名调用。
所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。