java基础——day03

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/imilano/article/details/60882320
*二维数组
·定义: 数据类型[][] 变量名=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:静态代码块
对类的数据进行初始化,仅仅只执行一次。


静态代码块,构造代码块,构造方法的顺序问题
静态代码块 > 构造代码块 > 构造方法

猜你喜欢

转载自blog.csdn.net/imilano/article/details/60882320
今日推荐