参照:https://www.cnblogs.com/ZXF6/p/11530009.html
类和对象
/** * java 中的类和对象 * * 一、局部变量的作用域。 * * 二、面向对象的概述 * 但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。 * 面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性。 * * 面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用, * 所以,面向对象的开发更像是一个具备标准的开发模式。 * * 可维护性 需求分析 * * 2. 在面向对象定义之中,也规定了一些基本的特征: 抽象。 * (1)封装:保护内部的操作不被破坏; * (2)继承:在原本的基础之上继续进行扩充; * (3)多态:在一个指定的范围之内进行概念的转换。 * * 3. 面向对象的开发? * 对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。 * * 4.类与对象是整个面向对象中最基础的组成单元。 * * 5.对象是将来用于存储数据(实体类) * * 三、类中的函数? * 无参数无返回值的函数 * A 函数的定义 【权限修饰符】 void 函数名(){ } static void hah(){} 四、类 类是对象的模板,对象是类的实例? 类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。 定义一个 people 类 他的属性有 age sex tall weight ... int age ; string sex; double tall; double weight; 新建一个测试类 JavaTest 创建对象。 people p = new people(); 赋值。 p.age = 15; p.sex = "男"; ... 1 */ public class JavaObject { public static void main(String[] args) { int b3=456; } /** * 局部变量 :定义到函数内部的变量 称之为 局部变量 * 局部变量的作用域:局部变量的使用范围 * 从变量定义开始 到所在的结束大括号 * 在同一作用域内 不能重复定义变量 */ @Test public void juBu(){ int a = 10; if (a>5){ int b = 20; System.out.println("b====="+b); System.out.println(a); } int b2 =30; System.out.println("b2===="+b2); } /** * 无参数无返回值的函数 * 1.权限修饰符 * 2.返回值类型 * 3.方法名 函数名 小驼峰的命名方式。。 * (): 参数列表 * {}: 函数体 */ public void haha(){ } /** 函数的调用? 1. 非静态 对象名.函数名 Test01 test01 = new Test01(); test01.haha(); 2. */ }
函数
/** * 一、java中的函数? * * 1.【修饰符】 返回值类型 函数名(参数类型 参数名,参数类型 参数名,........) { * 函数体 * } * * 2. 无参数无返回值的函数 * 定义: 【修饰符】 void 函数名() { * 函数体 * } * * 为什么需要函数:函数能实现某些功能 * 函数的调用(非static) : 1 创建对象 * 2 对象名.函数名(); * * * 3. 有参数 无返回值的函数 * 定义: 【修饰符】 void 函数名(参数类型 参数名,参数类型 参数名,........){ * 函数体/方法体 * } 参数和返回值 都是 数据传递的一种方式。。。 * * 二 、java中的重载? * * 三、 构造函数? * 1. 在一个类中 默认会生成一个公共无参数的构造函数(也就是说 你不写 默认会帮你加上) * * 2. 我们一旦自己写了构造函数 那么公共无参数的构造函数就不会自动生成了 * 所以 我们一旦添加公共有参数的构造函数 一定要确保无参数构造函数的存在 * (OCJP) * * * */ public class JavaFunction { public static void main(String[] args) { /* 函数的参数和返回值的使用 取决于实际需求。 */ int hah = add(45, 55); System.out.println(hah); // Haha() 构造函数。 Haha haha = new Haha(); } /** * 构造函数 */ static class Haha{ public static void main(String[] args) { int age ; String name; } //自己写了构造函数 那么公共无参数的构造函数就不会自动生成了 public Haha(){ } // 自己写构造函数的作用(通过构造函数传参) public Haha(int age,String name){ System.out.println("创建带参的构造函数 , 需要手动添加空的构造函数"); } } /** *1. 无参数无返回值的函数 */ public void haha(){ System.out.println(66); } /** * 2.有参数 无返回值的函数 */ static void add(int a, int b){ // 有返回值的方法 return 的内容 要和返回值类型匹配 int result = a+b; // 以 return 语句执行后的代码不执行) } /** * 3.有返回值没有参数 */ int jian(){ // 函数体。 return 0; } /** 有参数有返回值的方法 */ double getDifference(int a, int b){ double result = a - b; return result; } /** * 在同一类中,函数名相同,参数列表(参数的个数,参数的类型,类型的顺序)不同 此时就是函数的重载 */ int add(int a){ return a; } /** * 重载和 方法的返回值类型没有关系 只和参数列表有关 * 两个 add 返回值类型不同 * 报错 :已经在类中定义了add 方法 * * * @return */ int add(){ return 0; } /** * 假设 编译不报错 请问,你在主函数中调用 add 方法 * 问题来了 你调用的是 int ,还是 void? * 所以 Java中 不能根据返回值类型进行重载。 */ void add(){ } }