java基础——day03

    xiaoxiao2021-03-25  147

    *二维数组 ·定义: 数据类型[][] 变量名=new 数据类型[m][n] *成员变量  堆内存;  局部变量   栈内存。     ********堆和栈********* *类的组成 ·成员变量、成员方法、构造方法 *数据类型 ·两大类:基本类型和引用类型 ·基本类型:8种 ·引用类型:类、接口、数组、null ·一般情况下,我们声明一个变量: Object o=new Object(); 实际上是创建了一个引用(Object o)和一个对象(new Object()) 将引用放入栈,将对象放入堆; “引用”的值是“对象”在堆中的地址;“对象”的值是真正的数据 *方法 ·方法定义: public (static) 数据类型 方法名(数据类型,形参名) ·如果一个方法的形参是一个引用类型,这里其实要的是该类的对象。 ·无括号的是变量,右括号的是方法。 *匿名对象(带名字的调用和不带名字的调用) ·Student s=new Student;           s.method(D)或s.method(new Student); ·应用场景:     1.仅仅只调用一次的时候。 好处:不与栈内存存在任何关系,调用完就是垃圾,可以被垃圾回收期回收。 2.匿名对象可以作为实际参数传递。   new StudentDemo.method(new student()); *封装 ·private:修饰成员变量和成员方法,只能在本类中使用。 ·this.name=name------->this代表当前类的对象引用 *构造方法 ·作用:对对象的数据进行初始化; ·格式: A.方法名和类名相同。 B.没有返回值类型,连void都没有; C.没有返回值; ·标准案例 class Student { private String name; private int age; public Student(){} public Student(String name,int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 测试: class StudentDemo { public static void main(String[] args) { //方式1 Student s1 = new Student(); s1.setName("林青霞"); s1.setAge(27); System.out.println(s1.getName()+"---"+s1.getAge()); //方式2 Student s2 = new Student("刘意",30); System.out.println(s2.getName()+"---"+s2.getAge()); } } *给成员变量赋值 ·构造赋值、set赋值 *static静态关键字 ·静态,共享。 ·静态,可修饰成员变量和成员方法。 ·特点: A.随着类的加载而加载。 B.优先于对象存在。 C.被类的所有对象共享。 D.可以通过类名调用,也可以通过对象名调用。建议通过类名调用(静态为类成员的共有属性) ·注意:静态方法中没有this对象 静态只能访问静态 ·main方法是静态的。 public:权限最大 static:不用创建对象调用 void:返回值给jvm没有意义 main:就是一个常见的名称。 String[] args:可以接收数据,提供程序的灵活性 *代码块 A:局部代码块 用于限定变量的生命周期,及早释放,提高内存利用率。 B:构造代码块 把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。 C:静态代码块 对类的数据进行初始化,仅仅只执行一次。 静态代码块,构造代码块,构造方法的顺序问题 静态代码块 > 构造代码块 > 构造方法
    转载请注明原文地址: https://ju.6miu.com/read-6770.html

    最新回复(0)