面向对象(基础)

package com.svse.seven;

public class Demo01 {

	public static void main(String[] args) {
		/*
		 * 面向对象编程    面向过程编程
		 * 
		 * 面向对象:关心是谁来做(做一份蛋炒饭,采购员买菜、切菜员切菜、厨师炒菜、服务员送到餐桌。每个人做每个人的事情,大家一人做一部分,每个人只做自己的那部分工作。)
		 * 面向过程:关心的是怎么做 (一个人从买菜、切菜、炒菜都是自己做)
		 * 
		 * 面向对象总结成一句话:就是分工与协作,干活的是对象
		 * 
		 * 生活中:   对象  -----抽象---》类
		 * Java:    类 ----孵化----》对象   (在Java中,对象是做事情的。 类创造出对象,由对象去做事。)
		 *
		 *对象: 个体(看得见,摸得着。)《--对立--》 类: 虚的(看不见,摸不着。)N个对象抽象出一个类
		 *
		 *“桌子” 是一个类, 有 不同样式的桌子 ,我看不见也摸不到这个桌子,所以是虚的。
		 *“我眼前的桌子” 是一个对象,  我看得见也摸得着    “我眼前的桌子”在“桌子”的范围之内
		 *
		 * 类:
		 * 	属性:静态的特征(人的胖瘦、身高)
		 * 	方法:动态的行为能力(人的吃饭、睡觉)
		 * 
		 * 
		 * 
		 */
		
		
//		定义代码---》 逻辑代码(写在方法中)
		
//		1,定义类    (public class Xxxxx)
		/*
		 * 2,由类孵化对象,构造
		 * new  在堆内存中申请分配的空间
		 * 
		 * 3,使用这个对象:   数据类型   变量名  = new 构造函数();
		 */
		Phone p1 = new Phone("asdfasdfas"); //  =   是赋值
//		使用(设置 \获取)属性:对象名.属性名    
		p1.type = "小米6";   //p1  就是对象,做事情的。
		p1.color = "red";
		p1.price = 3000 ;
		
		System.out.println(p1.type);
		System.out.println(p1.color);
		System.out.println(p1.price);
		
//		使用方法:对象名.方法名
		p1.call("13125166028");
		p1.playGame();
		
		System.out.println("==============================");
		
//		===============================
		Phone p2 = new Phone();
		p2.type = "苹果11";
		p2.color = "blue";
		p2.price = 6000 ;
//		
		System.out.println(p2.type);
		System.out.println(p2.color);
		System.out.println(p2.price);
		p2.call("112233");
		p2.playGame();
	}

}

package com.svse.seven;

public class Phone {
	/*
	   * 类:
		 * 	属性:静态特征
		 * 	方法:动态的行为能力(成员方法 、  构造方法)
	 */
	
//	 型号    颜色     价格    内存
//	播放音乐    视频    游戏   打电话
	
//	属性   :访问修饰符  ,临时变量不能有访问修饰符。属性写在类中,不能写在方法中。
//	变量必须要初始化才能使用,那么属性不赋值会有默认值:整数0   小数0.0    char:空字符      boolean:false     引用数据类型:null
	public String type = "" ; // null
	
	public String color ; // null
//	 属性的赋值 是默认值,如果你手动设置了就会覆盖这个值
	public  int price = 20 ; // 0
	
	
	
//	构造方法:也是一种行为能力,是特殊的行为能力,孵化对象的能力。构造方法可以有N个 
	/**
	 * 访问修饰符   方法名([参数列表]){
	 * 	方法体;
	 * }
	 * 
	 * 方法名(必须跟类名一样) ,构造方法没有返回值类型。首字母大写。
	 *  当我们没有定义构造方法的时候,系统默认给我们定义无参的构造方法。
	 *  如果有定义构造方法,系统就不会给你默认一个无参的构造方法。
	 *  当有多个构造方法的时候,他们的参数列表一定不一样
	 */
	public Phone(String s){
		System.out.println("有参构造方法 。。。。。 ");
	}
	
	public Phone(){
		System.out.println("无参构造方法 。。。。。 ");
	}
	
	/**
	 * 定义打电话的功能
	 */
	public void call(String number){
		System.out.println("给"+number+"打电话......");
	}
	
	public void playGame(){
		System.out.println("我们联机打王者荣耀");
	}
	
	
	
	
}

栈跟堆的本质都是内存,以后会详细讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值