java入门 学习日志三 (面向对象1)

面向对象的特性 :(1) 封装性 、(2) 继承性 、(3) 多态性

类与对象

类实际上是表示一个客观世界中某类群体的一些基本特征抽象 ,属于抽象的概念集合 。例如 :汽车 、轮船 、书 。类实际上是对象操作的模版 ,但是类不能直接使用 ,必须通过实例对象来使用 。类由属性和方法组成 。
对象表示一个个具体的事物 。例如 :张三同学 、李四的汽车 、王五的账户 ,这些都是可以使用的事物 ,就可以理解为对象 ,对象表示的是一个个独立的个体 。
例如人的性别 、姓名 就被称为属性 。吃饭、睡觉被称为方法 。

class Book{  //定义一个新的类
	String title ; //书的名字
	double price ; //书的价格
	public void getInfo(){ //此方法由对象调用
	System.out.println("图书的名称:"+title+",图书的价格:"+price);
	} 
}

上述代码定义了一个Book类 ,而方法getInfo()没有加static 。和之前的代码不同 ,可以先这样理解 :由对象调用的方法不用加static ,如果不是由对象调用的方法 ,必须加上static 。

声明并实例化对象

格式 :声明并实例化对象
类名称 对象名称 =new 类名称() ;

格式 :分步完成
声明对象 : 类名称 对象名称 =null ;
实例化对象 :对象名称 =new  类名称() ;

操作对象 
对象 . 属性 ;
对象 . 方法 () ;


class Book{
	String title ;
	double price ;
	public void getInfo(){
		System.out.println("图书的名称:"+title+",图书的价格:"+price);
	}
}
public class TestDemo{
	public static void main(String args[]){
	Book bk =new Book(); //声明并实例化对象
	bk.title ="java开发大全"//操作属性内容
	bk.price =89.9 ;//操作属性内容
	bk.getInfo();//调用类中的方法
	}
}
程序执行结果 :图书的名称 :java开发大全 ,图书的价格 :89.9

堆内存 :只能依靠new来开辟 ,保存对象的真正数据 ,都是每一个对象的属性内容 。
栈内存 :保存一块堆内存的地址 。

引用传递

class Book{
	String title ;
	double price ;
	public void getInfo(){
		System.out.println("图书的名称:"+title+",图书的价格:"+price);
	}
}
public class TestDemo{
	public static void main(String args[]){
	Book bkA =new Book(); //声明并实例化对象
	bkA.title ="java开发大全"//操作属性内容
	bkA.price =89.9 ;//操作属性内容
	Book bkB =null ;
	bkB = bkA ;
	bkB.title ="jsp开发";
	bkA.getInfo();//调用类中的方法
	}
}
程序执行结果 :图书的名称 :jsp开发大全 ,图书的价格 :89.9

可以理解为bk储存的是一块栈内存 ,栈内存用来指向一块堆内存 ,堆内存中存储着对象的属性 。

原文地址:https://www.cnblogs.com/fxzemmm/p/14847971.html