一·面向对象编程的概念

  1. 万物皆对象。

  2. 面向对象指以属性和行为的观点去分析现实生活中的事物。

  3. 面向对象编程时指先以面向对象的思想进行分析,然后使用面向对象的编程语言进行表达式的过程。

  4. 面向对象编程时软件产业发展的需求。

  5. 三大特性 :封装,继承,多态

二·类和对象的概念

  1. 对象时指显示生活中存在的客观实体,在Java语言中对象体现为内存空间的一块存储区域。

  2. 类简单来就是分类,是指对具有相同特征和行为的多个对象共性的抽象描述,在java语言中体现为一种引用的数据类型,里面包含了描述特征/属性的成员变量以及描述行为的方法。

  3. 类是用于构建对象的模板,对象的数据结构由它定义的类来决定。

三·类的定义

class 类名{

数据类型 成员变量名 = 初始值; //成员变量由多个单词组成时,通常要求从第二个单词起每个单词的首字母大写。

}

注意:当类名由多个单词组成时,要求每个单词首字母都要大写。

四·对象的创建

new 类名();

注意:a.当一个类定义完毕后,可以使用new关键字来创建该类的对象,这个过程叫做类的实例化。

b.创建对象的本质就是在内存空间的堆区申请一块存储区域,用于存放该对象独有的特征信息。

五·引用的定义

  1. 使用引用数据类型定义的变量叫做引用型变量,简称为“引用”。

  2. 引用变量主要用于记录对象在堆区中的内存地址信息,便于下次访问。

六·成员方法的定义

当成员方法名由多个单词组成时,要求从第二个单词的首字母大写

七·返回值类型详解

  1. 指的是从方法体内返回到方法体外的数据内容。

  2. 返回值类型主要是指返回值的数据类型,可以实基本类型,也可以是引用数据类型。

  3. return关键字,可以返回具体的数据内容并结束当前方法。

  4. 当该方法不需要返回任何数据类型时,则返回值类型写void即可。

八·形参列表的详解

用于将方法体外的数据内容带到方法体的内部。

形式参数列表指读个形式参数组成的列表。

九·方法体详解

成员方法主要用于编写描述该方法功能的模块。

成员方法可以实现代码重用,简化代码。

十·方法的调用

  1. 引用变量名.成员方法名(实参列表);

  2. 实际参数列表主要用于对形式参数列表进行初始化操作,因此参数的个数,类型以及顺序都要完全一致。

  3. 实际参数可以穿值变量,变量,表达式,方法的调用等。

十一·可变长参数

返回值类型 方法名(参数的类型... 参数名)0~n个

一个方法的形参列表最多只能声明一个可变长的形参,并且需要放到参数列表的末尾。

十二·传参注意事项

  1. 基本数据类型的变量作为方法参数传递时,形参变量数值的改变通常不会影响到实参变量的参数值,因为两个变量各有各自独立的内存空间。

  2. 引用数据类型变量作为方法的参数传递时,形参变量指向内容的改变会影响到实参变量指向内容的数值,因为两个变量指向同一块内存空间。(引用类型传参是传递的地址)

  3. 当引用类型的变量作为方法的参数传递时,若形参变量改变指向后再改变指定的内容,则通常不会影响到实参变量指向内容的改变,因为两个变量指向不同的内存空间。

//代码
public class ArgumentTest {
   //自定义成员方法打印参数传入的整数数据
   public void show(int ia){
       ia = 200;
       System.out.println(ia);
  }
   //自定以成员方法打印参数传入的数组内容
   public void show2(int[] arr1){
       arr1[0] = 100;
       System.out.println("show 中"+arr1[0]);
  }

   public void show3(int[] arr1){
       arr1 = new int[2];
       arr1[0] = 100;               //此时这里改变不会影响到main方法的值
       System.out.println("show 中"+arr1[0]);
  }
   public static void main(String[] args) {
       //1.声明ArgumentTset类型的引用指向该对象的类型
       ArgumentTest at = new ArgumentTest();
       //2.使用引用变量调用show方法进行测试
       int ib =10;
       at.show(ib);
       System.out.println("main 方中ib="+ib);

       //调用show2方法测试
       int[] arr = new int[]{10,20};
       at.show2(arr);
       System.out.println("main中arr="+arr[0]);

  }
}

内存结构之栈区:

  1. 栈用于存放运行过程当中所有的局部变量。一个运行的java程序从开始到结束会有多次方法的调用。

  2. JVM会为每一个方法的调用在栈区中分配一个相对应的空间,这个空间称为栈帧,一个栈帧对应一个正在调用中的方法,栈帧中存储了该方法的参数,局部变量等数据。

  3. 当某一方法调用完后,其对应的栈帧将被清楚。

 

posted on 2020-10-04 12:45  我说我是大佬你信么  阅读(119)  评论(0)    收藏  举报