Java基础二(class)

一、java面向对象(oop)学习的三条主线

  1.java类及类的成员:属性、方法、构造器;代码块、内部块
  2.面向对象的三大特征:封装性、继承性、多态性、(抽象性)
  3.其他关键字:this、super、static、final、abstract。。。

二、设计类,其实就是设计类的成员

  属性 = 成员变量 = field = 域、字段
  方法 = 成员方法 = 函数 = method
  创建类的对象 = 类的实例化 = 实例化类

public class object_demo_01 {
    public static void main(String[] args){
        //创建person类对象
        Person p1 = new Person();

        //调用对象的结构:属性、方法
        //调用属性:”对象.属性“
        p1.name = "Tom";
        p1.isMale = true;
        System.out.println(p1.name);

        //调用方法:“对象.方法”
        p1.eat();
        p1.sleep();
        p1.talk("Chinese");

        Person p2 = new Person();
        System.out.println(p2.name); //null
        System.out.println(p2.isMale); //false

        //p1和p3只想同一对象实体
        Person p3 = p1;
        System.out.println(p3.name); //Tom
        p3.age = 10;
        System.out.println(p1.age); //10

    }
}

class Person{
    //属性
    String name;
    int age;
    boolean isMale;
    //行为
    public void eat(){
        System.out.println("eat food");
    }
    public void sleep(){
        System.out.println("sleep ");
    }
    public void talk(String language){
        System.out.println("say " + language);
    }
}

类中属性的使用

  属性(成员变量) vs 局部变量
    1.相同点:
      定义变量的格式:数据类型 变量名 = 变量值
      先声明,后使用
      变量都有其作用域

    2.不同点:
      (1)在类中声明的位置不同
        属性:直接在类的一对{}内
        局部变量:声明的方法内、方法形参、代码块内、构造器形参
      (2)关于权限修饰符不同
        属性:可以在声明属性时,指明其权限,使用权限修饰符
        常用的权限修饰符:private、public、缺省(默认)、protected
     局部变量:不可使用权限修饰符
      (3)默认初始值得情况:
        属性:类的属性,根据其类型,都有默认初始值
        整型(byte、short、int、long):0
        浮点型(float、double):0.0
        字符型(char):0
        布尔型(boolean):false
    局部变量:
      没有初始值
      在调用局部变量是,一定要先赋值
      形参在调用时,赋值即可
      (4)在内存中加载位置不一样
        属性:加载到对空间
        局部变量:栈空间

public class object_demo_02 {
    public static void main(String[] args){
        User u1 = new User();
        System.out.println(u1.name); //null
        u1.talk("中文");
    }
}

class User{
    //属性(成员变量)
    String name;
    int age;
    boolean isMale;

    public void talk(String language){//language形参
        System.out.println("我们使用" + language + "进行交流");

    }

    public void eat(){
        String food = "烙饼"; //局部变量
        System.out.println(food);
    }
}

类中方法的声明和使用

  方法:描述方法应该具有的功能
  比如:Math类:sqrt()
  1.举例
    void 没有返回值
    String 返回String
    public void eat()
    public void sleep(int hour)
    public String getName()
    public String getNation(String nation)
  2.方法的声明:权限修饰符 返回值类型 方法名(形参列表)

public class object_demo_03 {

}

//客户类
class Customer{
    //属性
    String name;
    int age;
    boolean isMale;

    //方法
    public void eat(){
        System.out.println("吃饭");
    }
    public void sleep(int hour){
        System.out.println("休息了" + hour + "个小时");
    }
    public String getName(){
        return name;
    }
    public String getNation(String nation){
        String info = "我的国籍是:" + nation;
        return info;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值