梯子的Java日记 day_07

昨日回顾:
	1)一位数组的应用
		数组的遍历:在控制台将元素一一输出
			数组的属性:length 获取数组中的长度
		获取数组中的最大值最小值:
			取数组中的第一个值为最大值
			从第二个元素开始遍历并做对比
		数组的逆序
			for(int statrt = 0,end = arr.length;start <= end;start++,end--){
				int temp = arr [start];
				int [start] = arr[end];
				int[end] = temp;	
				}
		基本查找法   ,从头查到尾
			

	2)二维数组
		基本遍历:
		for(int x = 0;x<arr.length;x++){
			for(int y = 0;y<arr[x].length;y++){
			System.out.print(arr[x][y]);
		}
		冒泡排序


今日内容:
 1. 面向对象思想
 2. 类与对象
 3. 如何定义一个类(对应现实)
 4. 类在内存中的分配	
 	引用类型:类,接口,数组
 5. 成员变量,局部变量两者的区别
 6. 引用类型(类作为形式参数,如何传递)
 7. 什么是匿名对象
 8. 封装 以及private关键字

面向对象

	Java中万物皆对象.

面向对象特点:

  1. 更符合生活中的思想行为习惯
  2. 从执行者变成指挥者
  3. 指挥一个具体的事物完成事情(可将复杂的事情简单化)

对象的开发原则:
不断的创建对象,使用对象,指挥对象做事情
面向对象的三大特征

  • 封装: encapsulation
  • 继承: inheritance
  • 多态: polymorphism
类与对象的关系
public static void main(String[] args){	
	 
}
 class Mobil_Phone{  
  //成员变量
  String Brand;
  String XingHao;
  String colour; 
  int JiaGe;
  int MEID;
  int IMEI1;
  //成员方法
  public void  Call_Up(){
	System.out.println("打电话");
	}
  public void  Send_Messages(){
 System.out.println("发短信");
 }
   public void  PlayGames(){
 System.out.println("玩手机游戏");
 }
   public void Social_Contact (){
 System.out.println("社交");
 }
 

}
  

类: 描述一组事物的属性和行为的集合;
对象: 描述事物最具体的东西

eg.
	学生事物- - - - - - - >学生类class Student()-- - - - - 
	属性			成员变量
	行为			成员方法
		定义好一个类, 需要使用这个类时 - - - - - - - - ->  创建一个具体的对象
		
		创建对象的格式:
			类名  对象名 = new 类名
		访问成员变量:
			对象名.成员变量
		调用成员方法
			对象名.成员方法();
成员变量和局部变量的区别
  • 在类中的位置不同
    成员变量 类中方法外
    局部变量 方法内或者方法声明上
  • 在内存中的位置不同
    成员变量 堆内存
    局部变量 栈内存
  • 生命周期不同
    成员变量 随着对象的存在而存在,随着对象的消失而消失
    局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
  • 初始化值不同
    成员变量 有默认的初始化值
    局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。
形式参数的问题
1)基本类型做形参
	方法中传递的是具体的值
2)引用类型做形参
	方法中传递的是引用对象的地址
匿名对象

匿名对象:
就是没有名字的对象,是对象的一种简化表示形式
使用情况
匿名对象的两种使用情况,对象调用方法仅仅一次的时候作为实际参数传递

封装

封装概述
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装的好处:

  • 隐藏实现细节,提供公共的访问方式
  • 提高了代码的复用性
  • 提高安全性

封装的封装原则:

  • 将不需要对外提供的内容都隐藏起来。
  • 把属性隐藏,提供公共方法对其访问。
private(私有的)

private关键字:
是一个权限修饰符。
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问。
private最常见的应用:
把成员变量用private修饰
提供对应的getXxx()/setXxx()方法
书写一个标准的案例

构造方法

构造方法作用概述
给对象的数据进行初始化

构造方法格式

  • 方法名与类名相同
  • 没有返回值类型,连void都没有
  • 没有具体的返回值

构造方法注意事项

  • 如果你不提供构造方法,系统会给出默认构造方法
  • 如果你提供了构造方法,系统将不再提供
  • 构造方法也是可以重载的
类的标准写法
类	
 	成员变量
 	构造方法
 		无参构造方法
 		带参构造方法
成员方法
 	getXxx()
 	setXxx()
给成员变量赋值的方式
 	无参构造方法+setXxx()
 	带参构造方法
 手机事物
 	 属性:品牌,颜色,价格,内存
 	 行为:打电话,拍照,聊天
class MobilPhone{
	 private String PinPai;	
	 private String Colour;
	 private int    HowMuch;
	 private String Neicun;
 	//设置PinPai 
 	public void setName(String n) { 
 		 name = n ;
 	}
 	//得到PinPai
 	public String getName(){
 		 return name ;
 	}
 	//设置Colour
 	public void setName(String n) { 
 		 name = n ;
 	}
 	//得到Colour
 	public String getName(){
 		 return name ;
 	}
 	//设置HowMuch
 	public void setName(String n) { 
 		 name = n ;
 	}
 	//得到HowMuch
 	public String getName(){
 		 return name ;
 	}//设置Neicun 
 	public void setName(String n) { 
 		 name = n ;
 	}
 	//得到Neicun
 	public String getName(){
 		 return name ;
 	}
 	public void show(){
 System.out.println("品牌是:"+PinPai+",颜色是:"+Colour+",价格是: "+HowMuch+",内有有:"+Neicun) ;
 	}
 
 
 	public void Call(){
 		 Systrm.out.pringln("打电话 ");
 	}
 	public void TakePhoto(){
 	 	Systrm.out.pringln("拍照片吃饭");
 	}
 	public void LiaoTian(){
 		 Systrm.out.pringln("聊天打屁");
 	}
}
class test{
 	public static void main(String[] args){
 	 MobilPhone s = new MobilPhone;
 	s. PinPai = "小米";
 	s. Colour= "白色";
  	s.HowMuch = 1998;
  	s. Neicun= "8G";
  	s.show();
	 }
}
类的初始化过程

Student s = new Student();在内存中做了哪些事情?
加载Student.class文件进内存
在栈内存为s开辟空间
在堆内存为学生对象开辟空间
对学生对象的成员变量进行默认初始化
对学生对象的成员变量进行显示初始化
通过构造方法对学生对象的成员变量赋值
学生对象初始化完毕,把对象地址赋值给s变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值