昨日回顾:
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中万物皆对象.
面向对象特点:
更符合生活中的思想行为习惯从执行者变成指挥者指挥一个具体的事物完成事情(可将复杂的事情简单化)
对象的开发原则: 不断的创建对象,使用对象,指挥对象做事情 面向对象的三大特征
封装: 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
;
public void setName(String n
) {
name
= n
;
}
public String
getName(){
return name
;
}
public void setName(String n
) {
name
= n
;
}
public String
getName(){
return name
;
}
public void setName(String n
) {
name
= n
;
}
public String
getName(){
return name
;
}
public void setName(String n
) {
name
= n
;
}
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变量