• 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储存的是一块栈内存 ,栈内存用来指向一块堆内存 ,堆内存中存储着对象的属性 。

  • 相关阅读:
    gradle添加阿里云maven库
    来谈谈MySQL的临时表,到底是个什么东西,以及怎么样产生的
    MySQL优化相关参数--先做个记录,以后可能用得到
    对于join操作,MySQL它是咋做的?
    Linux-常用命令记录
    有时候我们自认为有用的索引却并没有被MySQL选择使用?
    C#趟坑: Wait()线程结束时,会忽略子线程
    初次使用Windbg检查C#程序内存
    性能优化之三:将Dottrace过程加入持续集成
    性能优化之二:结构体类型的性能优化
  • 原文地址:https://www.cnblogs.com/fxzemmm/p/14847971.html
Copyright © 2020-2023  润新知