JAVA学习之类和对象篇(二)
2017-08-23 本文已影响12人
南三号
运行Java程序,定义了很多类之后需要某个类作为入口类(相当于程序的入口),那个类里面会有一个入口函数:main函数,函数里写这个程序所要执行的代码。
public class init{
public static void main(String[] args){
//写要运行的代码
}
}
一.定义Java中的类(属性+方法)
定义一个类名+编写类的属性+编写类的方法
public class 类名{
//定义属性部分(成员变量 属性1的类型 属性1;
属性2的类型 属性2;
//定义方法部分
方法1返回值类型 方法1;
方法2返回值类型 方法2;
}
二.JAVA对象
1.创建对象:
类名(对象类型) 对象名=new 类名( );
HelloWord helloword=new HelloWord( );
2.使用对象:
引用属性:对象名.属性
引用方法:对象名.方法
三.成员变量和局部变量
图片发自南三号作用域:
- 局部变量:仅限于定义它的那个方法中,比如上图中方法一中的变量只能在方法一中使用
- 成员变量:在整个类的内部都是可见的(类中共享)
初始值:
- 成员变量:自动拥有初始值0
- 局部变量:不会有初始值,所以要给初始值
-
特别注意
同一方法不能有同名局部变量
不同方法中可以有同名局部变量
两类变量同名时,局部变量具有更高的优先级(就近原则)
四.构造方法(有参和无参)
- 无参的构造方法:当没有自定义构造方法时,系统会自动添加一个无参的构造方法,如果你觉得不满意,可以自定义无参构造方法。
- 有参的构造方法:方便实例化对象的初始化(即对象属性赋合理初值)。传值不正确可以在构造函数中进行判断,避免传值不安全。
- 特别注意:当你自定义了构造方法,系统就不会为你自动添加。如果你自定义了一个有参的构造方法,你就不能使用无参的构造方法,如果想要使用,则必须再自定义一个无参的构造方法。
- 构造方法的重载:根据初始化值的不同要求,定义多个有参的构造函数。
六.java中的static使用
1.静态变量:
类中的静态变量不是被某一个实例对象特有,而是所有对象共享,用对象名,类名都可以进行访问,推荐使用类名访问:
public class HelloWorld {
// 定义静态变量我的名字
static String myName = "南三号";
public static void main(String[] args) {
// 访问静态变量,输出我的名字
System.out.println(HelloWorld.myName);
}
}
2.静态方法:
性质及使用方法与静态变量类似
用对象名或者类名调用静态方法
public class HelloWorld {
// 定义静态方法输出我的名字
public static void print( ){
System.out.println(“南三号”)
}
public static void main(String[] args) {
// 访问静态方法,输出我的名字
HelloWorld.print( );
}
}
注意:静态方法能直接调用同类中的静态变量,但不能调用非静态变量。想要调用必须先实例化一个对象。
而普通方法则都可以调用。
3.静态初始化块
- 执行优先级:
静态初始化块>初始化块>构造函数 - 代码示例:
public class HelloWorld {
int num1,num2;
static int num3;
// 构造方法
public HelloWorld () {
num1=1;
}
// 初始化块
{
num2=2;
}
// 静态初始化块
static {
num3=3;
}
}
- 注意:静态初始化块只在加载类的时候加载一次,且只能初始化静态变量的值,不能初始化普通变量。