1.面向对象:
几大特点:封装性,继承性,多态性
举个对象创建的例子.
package com.itheima;
class Animal{
private String name;
public void tell(){
System.out.println("hello world");
}
}
public class demo2 {
public static void main(String[] args) {
Animal a = new Animal();
a.tell();
}
}
以上主方法中,实例化了一个Animal的对象a,对象的实例化分为堆和栈,a这个对象的索引是存放在栈里面的,而为对象开辟的空间是在堆里面的。也就是说在栈内存中实际上保存的是其对应的堆内存空间的地址。
对象必须实例化之后才可以使用。
封装性:类中的属性都必须封装,封装之后的属性只有通过get,set才能进行访问。
匿名对象:
匿名对象是指没有明确给出名称的对象,一般匿名对象只能使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。
package com.itheima;
class Animal{
private String name;
public void tell(){
System.out.println("hello world");
}
}
public class demo2 {
public static void main(String[] args) {
new Animal().tell();//匿名对象
}
}
匿名对象由于没有栈内存的引用指向它,所以一般使用一次之后就被垃圾回收机制回收了,对象只有在开辟对内存空间之后才可以使用