java-------面向对象基础-方法
2017-12-06 16:42
375 查看
package demo; /* * 程序=算法+数据结构 * * 1.类 class * 1.1 类的定义 * 类是对象的模板,由类构造(construct)对象的过程称为创建类的实例(instance). * 对象中的数据称为实例(instance),操纵数据的过程称为方法(method) * 1.2 类的语法 * 修饰词 class 类名{ * } * * 2.对象 * 对象的行为(behavior)----可以对对象实施哪些操作,或者对对象可以施加哪些方法 * 对象的状态(state)-------当施加那些方法时,对象如何响应 * 对象的标识(identity)----如何辨别具有相同行为或状态的不同对象 * * 3.类和类之间的关系 * 依赖("uses-a") * 聚合("has-a") * 继承("is-a") * * 依赖(dpendence):就是一个类的方法操纵另一个类的对象,尽量要减少使用,要降低类之间的耦合度 * 聚合(aggregation):也可以说是关联,意味着类A的对象包含类B的对象 * 继承(inheritance):就是类A继承类B * 程序员多数采用UML(统一建模语言)绘制类图,用来描述类之间的关系 * * 4.方法 * 1.1 方法的定义 * 权限修饰词,返回值类型,方法名(参数列表){ * 方法体 * } * void 無返回值類型 無return 調用不用聲明變量來接收 * 數據類型 有返回值 有return 調用要聲明變量來接收 * * 1.2.方法的签名 * 方法名和参数列表 * * 1.3方法参数的传递(都是值的传递) * 一个方法不能修改一个基本数据类型的参数 * 一个方法可以改变一个对象参数的状态 * 一个方法不能让对象参数引用一个新的对象 * * 5.修饰符 * 5.1 访问控制修饰符 * public 公有的 * private 私有的 本类 * protected 受保护的 本类,子类,同包类 * defailt 默认的 本类,同包类 * * 5.2 abstract 抽象的 * 抽象类,抽象方法修饰词 * 抽象类不能被实例化; * 抽象类不能被定义为 private、final、和 static 类型. * 非抽象类继承抽象类的时候,必须要把抽象类中的所有抽象方法实现. * 没有抽象的构造方法. * * 5.3 static 静态的 * 在静态方法中不能直接访问实例方法和实例变量. * 在静态方法中不能使用 this 和 super 关键字. * 静态方法不能被 abstract 修饰 * 静态的成员变量可以使用类名或者是对象进行访问,非静态成员变量只能使用对象进行访问. * 静态方法或变量,值是放在方法区,因为方法区是一个数据共享区;所以不管什么变量访问它,都是同一份. * 静态函数可以直接访问静态的成员,但是不能够直接访问非静态成员.,非静态函数可以访问静态和非静态成员. * 当类被加载时,静态代码块只能被执行一次。类中不同的静态方法代码块按他们在类中出现的顺序被依次执行. * * 5.4 final 最终的 * final 修饰基本类型变量的时候, 该变量不能重新赋值; * final 修饰引用类型变量的时候, 该变量不能重新指向其他对象 * final 修饰的方法为最终的方法, 该方法不能被重写; * private 类型的方法都默认为是final方法,因而也不能被子类重写; * final 修饰的类为最终的类, 不能被继承 * * * * * */ public class Demo { /*method_1,_2方法的传递不会改变一个基本类型的参数*/ public static int method_1(int a){ a=a*2; return a; } public static void method_2(int b){ b=b+2; } public static void method_3(String c){ c="world"; } public static void method_4(StringBuffer d){ d.append("world"); } /*可以改变一个对象的参数状态*/ public static void method_5(DataWarp e){ int emp = e.a; e.a=e.b; e.b=emp; System.out.println("5方法里a的值:"+e.a+",b的值:"+e.b); } public static void main(String[] args){ int a=2; System.out.println("a="+a);//2 System.out.println("a="+method_1(a));//4 改变只是相对于这个方法管用,出了这个方法就不管用了.这就是局部变量 int b=4; method_2(b); System.out.println("b="+b);//4 String c = new String("hello"); method_3(c); System.out.println("c="+c);//java StringBuffer d = new StringBuffer("hello"); method_4(d); System.out.println("d="+d); DataWarp e = new DataWarp(); e.a=6; e.b=9; method_5(e); System.out.println("交换后a:"+e.a+",b:"+e.b); } } class DataWarp{ int a; int b; }
相关文章推荐
- java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
- Java面向对象基础--构造方法私有化
- JAVA基础、方法、面向对象笔记4
- [2013-11-28]JAVA笔记_面向对象基础、方法重载
- 黑马程序员---java基础---面向对象中的构造方法及static关键字,变量的问题
- JAVA面向对象基础 对象 类 方法学习笔记
- JAVA基础day05 面向对象思想 成员变量和方法 封装 构造方法和this的使用
- 跟着姜少学Java基础编程之十三:面向对象-成员方法
- JAVA基础初探(三)面向对象思想、类与对象、成员变量与局部变量、构造方法、static关键字详解
- JAVA面向对象基础:成员变量、方法、方法的重载、构造函数
- Java面向对象基础__方法、对象的内存模型
- JAVA基础、方法、面向对象笔记5
- java面向对象基础 -- 重写父类方法的规则
- Java面向对象基础--构造方法
- Java面向对象基础--理解main方法
- java 面向对象基础 类 成员变量和局部变量 成员方法
- Java基础第7讲--面向对象之类和方法
- JAVA基础再回首(四)——面向对象思想、类与对象、成员/局部变量、匿名对象、封装、private、this、构造方法
- JAVA面向对象基础 对象 类 方法学习笔记
- Java面向对象基础--类的设计及分析问题的方法---用户登录例子