一.
1.类的重要性:所有java程序都以class为组织单元。
2.什么是类?类是模子,确定对象将会y拥有的特征(属性)和行为(方法)
3.类的组成:属性和方法
4.定义一个类的步骤:
a.定义类名
b.编写类的属性
c.编写类的方法
public class 类名 {
//定义属性部分(成员变量)
属性1的类型 属性1;
属性2的类型 属性2;
…
属性n的类型 属性n;
//定义方法部分
方法1,
方法2,
…
方法m
}
package HelloWorld;
public class TelPhone {
//属性(成员变零)有什么
float screen;
float cpu;
float mem;
//方法 干什么
void call(){
System.out.println("TelPhone有打电话的功能");
}
void sendMessage(){
System.out.println("TelPhone有发短信的功能");
}
}
二.如何使用
1.创建对象:
类名 对象名 = new 类名();
Telphone phone = new Telphone();
2.使用对象
引用对象的属性:对象名.属性
phone.screen = 5;//给screen属性赋值5
引用对象的方法:对象名.方法名()
phone.sendMessage();//调用sendMessage()方法
新建一个类InitailTelphone
package HelloWorld;
public class InitailTelphone {
public static void main(String[] args) {
// TODO Auto-generated method stub
TelPhone phone = new TelPhone();
phone.sendMessage();
//给实例变量赋值
phone.screen=5.0f;
phone.cpu = 1.4f;
phone.mem = 2.0f;
//调用对象的方法
phone.sendMessage();
}
}
三.java中的成员变量和局部变量
1.成员变量:
在类中定义,用来描述对象将要有什么。可以在本类的方法以及其他类的方法中调用。java会给成员变量赋一个初始值。
2.局部变量
在类的方法中定义,在方法中临时保存数据。仅仅可以在当前方法中调用。java不会给局部变量赋一个初始值。
在同一个方法中,不允许有同名的局部变量
在不同的方法中,可以有同名的局部变量
两类变量同名时,局部变量具有更高的优先级
四.构造方法
TelPhone phone = new TelPhone();
1.使用new+构造方法 创建一个新的对象。 new后面的TelPhone不是类名,而是构造方法。
2.构造方法是定义在java类中的一个用来初始化对象的方法
构造方法与类同名且没有返回值
3.当没有指定构造方法时,系统会自动添加无参的构造方法
4.当有指定构造方法,无论是有参,无参的构造方法,都不会自动添加无参的构造方法。
5.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。
6.构造方法不但可以给对象的属性赋值,还可以保证给对象的属性赋一个合理的值。
构造方法的语句格式
public 构造方法名(){
//初始化代码
}
package com.vishuo.www;
public class Telphone {
public Telphone(){
System.out.println("无参数的构造方法执行了");
}
}
五.java中的static使用之静态变量
我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是 static 大显身手的时候了!!
Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问~~
使用 static 可以修饰变量、方法和代码块。
package com.vishuo.www;
public class InitailTelphone {
static String str ="我爱祖国";
public static void main(String[] args) {
// TODO Auto-generated method stub
//通过类名访问静态变量
System.out.println(InitailTelphone.str);
//通过类的对象名访问静态变量,但是最好使用类名进行访问
InitailTelphone phone = new InitailTelphone();
System.out.println(phone.str);
//使用类名修改静态变量的值
phone.str ="我爱祖国我的家";
System.out.println(phone.str);
}
}
与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。
package com.vishuo.www;
public class InitailTelphone {
public static void prine(){
System.out.println("我爱你xxx");
}
public static void main(String[] args) {
InitailTelphone phone = new InitailTelphone();
//调用
InitailTelphone.prine();
phone.prine();
}
}
注意:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
public class HelloWorld {
String name; // 声明变量name
String sex; // 声明变量sex
static int age;// 声明静态变量age
// 构造方法
public HelloWorld () {
System.out.println("通过构造方法初始化name");
name = "tom";
}
// 初始化块
{
System.out.println("通过初始化块初始化sex");
sex = "男";
}
// 静态初始化块
static {
System.out.println("通过静态初始化块初始化age");
age = 20;
}
public void show() {
System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
HelloWorld hello = new HelloWorld();
// 调用对象的show方法
hello.show();
}
}