java自学笔记1:java中的类

一.
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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值