微信公众号网站建设费,如何做网站不容易被攻击,腾讯云服务器搭建网站,德州网站开发培训面向对象编程思想 1.面向过程 从计算机执行角度出发 #xff0c;代码执行过程核心为从程序的运行过程出发,构建编程思路,例#xff1a; 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确就继续向下2.2 错误就重复输入3 拆数 循环 nab4.判断 a和b同… 面向对象编程思想 1.面向过程 从计算机执行角度出发 代码执行过程核心为从程序的运行过程出发,构建编程思路,例 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确就继续向下2.2 错误就重复输入3 拆数 循环 nab4.判断 a和b同为质数 则打印 2.1对象 计算机中的需求来自现实世界现实世界是由对象组成。 对象:万物皆对象 对象有属性和方法 a.属性: 对象有什么b.方法: 对象能做什么 2.2 对象间的关系: 1. 继承关系 is a 一般--特殊 从属关系例宝马汽车是汽车2. 关联关系 has a 对象的属性又可以是另一个对象例汽车有发动机3. 依赖关系 use a 一个对象调用另外一个对象的方法例司机和汽车 3.面向对象思想 先找到解决问题所需要的对象,再建立对象间的关系, 以及利用对象所形成的过程. 4.计算机如何处理现实中的对象 计算机中的对象: 在计算机中用一块特定的存储空间表示生活中的对象
计算机中的对象之间可以形成生活中对象之间的关系 (继承 关联 依赖) 5.类的概念 类是数据类型对象是数据 类: 对象共性的抽象, 是人对对象的认识, 是对象的模板 6.类的属性(成员变量)【重点】 属性: 是成员变量 1.有默认值 数字类型默认值为0 boolean类型为false 字符串类型为null
2.作用范围: 全类内部
3.成员变量可以和局部变量同名,同名时局部变量优先 成员变量和局部变量在内存中不一样 7.类的方法 java中没有函数的概念函数是面向过程开发中的东西在java中只有方法的概念。声明(5个部分组成): 修饰符(顺序无关紧要) 返回值类型 方法名 (形式参数表) 抛出的异常---声明代表对象具有什么功能 实现: {} 代表对象怎么做 8.方法重载【重要】 方法重载 : 让对象方法由于参数表的不同所造成的差异,对用户屏蔽由编译器根据实参来匹配相应的方法 (编译时多态)方法重载: 方法名相同,参数表不同. 对返回值不做要求
参数表不同: 参数个数不同,参数类型不同,参数类型排列不同 (如果只有形参名不同,不算重载) 9.构造方法 注如果一个类中没有定义任何构造方法,则系统提供默认公开无参构造方法 构造方法: 特殊的方法构造方法特点
1.没有返回值类型 区分构造方法和普通方法的唯一标志
2.方法名必须和类名相同
3.不允许直接调用, 在对象构造的过程中自动调用一次对象构造的三个步骤:没有继承的情况
1. 分配空间 属性被赋予默认值 ---- 根据对象的属性分配空间不同对象所占的空间大小不同。
2. 初始化属性 属性被赋予初始值
3. 调用构造方法 属性通常被再次赋值 class Student{//1. 分配空间 属性被赋予默认值:name被赋值为nullage被赋值为0score被赋值为0.0String name;int age 10;//2. 初始化属性 属性被赋予初始值:age被赋值为10double score;public Student(){age 20;//3. 调用构造方法 属性通常被再次赋值}public Student(String n , int a , double s){name n;age a;score s;}
} 10.new 创建对象 a.创建对象: 类名 引用名 new 类名(构造参数)
b.访问对象的属性或调用对象的方法
引用名.属性
引用名.方法()
c.引用中存储对象的地址。 null表示空指针, 引用没有指向任何对象 11.Java中变量的数据类型 Java中的变量按照数据类型划分,分为两种 1.基本变量类型 : 存数值 2.引用类型(除了 8 种基本类型之外) : 存对象的地址 12.方法参数传递 参数传递: 基本类型参数传值, 对象类型参数传地址 (形参和实参指向同一对象) //基本类型参数传值
public class TestReference{public static void main(String[] args){int a 10;int b a; b;//b的值变成11System.out.println(a); //10changeInt(a);System.out.println(a); //10 } static void changeInt(int a){a;//changeInt()方法中的a变成11但是没有返回给方法调用处并没把方法返回值赋值给原来的a}
}
//对象类型参数传地址
public class TestReference{public static void main(String[] args){MyClass mc new MyClass();MyClass mc2 mc;//mc是一个引用这句代码把mc的引用复制给mc2,意思是mc和mc2指向的是同一个对象mc2.value;System.out.println(mc.value); //21MyClass mc new MyClass();/*首先在主方法中调用了 changeValue()方法并且把 mc 作为实参传递给形参 mc。要注意的是由于 mc 是一个引用保存的是一个对象的地址因此进行传递时传递给 mc的值就是一个对象的地址。这样实参 mc 引用和形参 mc 引用中保存的内存地址相同也就是说这两个引用指向同一个对象。 */changeValue(mc);System.out.println(mc.value); //21} static void changeValue(MyClass mc){mc.value;}
}
class MyClass{int value 20;
} 13.this关键字 作用 引用 表示当前对象 在类中访问自己的属性和方法时,如果不加引用,引用默认为 this.用this可以区分成员变量和局部变量 class Student{String name;int age;public Student() { }public Student(String name, int age) {this.name name;this.age age;}
} this(...) 用在构造方法中, 调用本类其他的构造方法 用于构造方法之间相互调用 必须是构造方法的第一条语句 class MyClass{int value;public MyClass(){this(10);System.out.println(MyClass());}public MyClass(int value){this(); //对 this()的调用必须是构造方法的第一个语句this.value value; //对 this.的调用位置没有限制}
} 转载于:https://www.cnblogs.com/chenpeisong/p/9775219.html