java学习笔记5

java学习笔记day5

面向对象(上)

一、java面向对象学习的三条主线
1.java类和其成员的属性 方法 构造器 代码块 内部类
2.面向对象的三大特征 封装性 继承性 多态性(抽象性)
3.其关键字, this super static final abstract interface pakage import
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package oop;

public class TEST {


    public static void main(String[] args) {
        Person p1 = new Person();

//调用对象的结构,属性 方法
        p1.name = "Tom";
        p1.ismale = true;
        System.out.println(p1.name);
        p1.eat();
        p1.sleep();
        p1.talk("Chinese");
    }
}


//类和对象的使用
class Person {

    //属性 =成员变量 = field = 域、字段
    String name;
    int age = 1;
    boolean ismale;

    //方法=成员方法=函数=method
    public void eat() {
        System.out.println("吃");
    }

    public void sleep() {
        System.out.println("睡");
    }

    public void talk(String language) {
        System.out.println("说,用:" + language);
    }
}
//当多个对象时,每个对象有相应的属于和方法都是独立的

内存解析
在这里插入图片描述
在这里插入图片描述

类中属性的使用
package oop;
/*
类中属性的使用
属性   VS   局部变量
1.相同点:
 1.1定义变量的格式,数据类型 变量名 = 变量值
 1.2光声明,后使用
 1.3变量都有相应的作用域
2.不同点
 2.1在类中声明
 属性:直接在定义在{}内
 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内的变量
  2.2关于权限修饰符的不同
  属性:可以在声明变量时指名权限修饰符pri pub pro
  局部变量:不可以权限修饰符
  2.3默认初始化值的情况
  属性:类的属性,根据其类型,都有默认初始化。
  整型=0
  浮点型=0.0
  char=0
  布尔型=fakse
  引用数据类型(类、数组、接口)null
  局部变量:没有初始化 一定要显式赋值
  形参在调用时赋值即可
  2.4内存中加载的位置不同
  属性:加载在堆空间中
  局部:栈空间
 */
public class UserTest {
    public static void main(String[] args) {
        User u1 =new User();
        System.out.println(u1.name);
        System.out.println(u1.age);
        System.out.println(u1.ismale);
        u1.takl("日语");
    }
}
class User{
    //属性(成员变量)
    String name;
    int age;
    boolean ismale;
    public void takl(String language){//language形参
        System.out.println("说:"+ language + "交流");
    }
    public void  eat(){
        String food = "大米";//局部变量
        System.out.println("吃" + food);
    }
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页