面向对象_补充_封装_成员与局部变量_static关键字_Math随机数
来源:互联网 发布:淘宝网店怎样做推广 编辑:程序博客网 时间:2024/04/30 05:44
06.10_面向对象(成员变量和局部变量的区别)(掌握)
- A:在类中的位置不同
- 成员变量:在类中方法外
- 局部变量:在方法定义中或者方法声明上
- B:在内存中的位置不同
- 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
- 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
- C:生命周期不同
- 成员变量:随着对象的创建而存在,随着对象的消失而消失
- 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
- 成员变量:有默认初始化值
- 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:
- 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
- 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char
- 引用数据类型变量包括哪些:数组,类,接口,枚举
06.12_面向对象(匿名对象的概述和应用)(掌握)
- A:什么是匿名对象
- 没有名字的对象
- B:匿名对象应用场景
- a:调用方法,仅仅只调用一次的时候。
- 那么,这种匿名调用有什么好处吗?
- 节省代码
- 注意:调用多次的时候,不适合。匿名对象调用完毕就是垃圾。可以被垃圾回收器回收。
- 那么,这种匿名调用有什么好处吗?
- b:匿名对象可以作为实际参数传递
- a:调用方法,仅仅只调用一次的时候。
- C:案例演示
- 匿名对象应用场景
06.13_面向对象(封装的概述)(掌握)
A:封装概述
- 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
B:封装好处
- 隐藏实现细节,提供公共的访问方式
- 提高了代码的复用性
- 提高安全性。
- C:封装原则
- 将不需要对外提供的内容都隐藏起来。
- 把属性隐藏,提供公共方法对其访问。
06.14_面向对象(private关键字的概述和特点)(掌握)
- A:人类赋值年龄的问题
- B:private关键字特点
- a:是一个权限修饰符
- b:可以修饰成员变量和成员方法
- c:被其修饰的成员只能在本类中被访问
- C:案例演示
- 封装和private的应用:
- A:把成员变量用private修饰
- B:提供对应的getXxx()和setXxx()方法
- private仅仅是封装的一种体现形式,不能说封装就是私有
06.15_面向对象(this关键字的概述和应用)(掌握)
- A:this关键字特点
- 代表当前对象的引用
- B:案例演示
- this的应用场景
- 用来区分成员变量和局部变量重名
07.09_面向对象(static关键字及内存图)(了解)
A:案例演示
- 通过一个案例引入static关键字。
- 人类:Person。每个人都有国籍,中国。
B:画图演示
创建对象内存图- 带有static的内存图
- 带有static的内存图
07.10_面向对象(static关键字的特点)(掌握)
- A:static关键字的特点
- a:随着类的加载而加载
- b:优先于对象存在
- c:被类的所有对象共享
- 举例:咱们班级的学生应该共用同一个班级编号。
- 其实这个特点也是在告诉我们什么时候使用静态?
- 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
- 举例:
- 饮水机(用静态修饰)
- 水杯(不能用静态修饰)
- 共性用静态,特性用非静态
- d:可以通过类名调用
- 其实它本身也可以通过对象名调用。
- 推荐使用类名调用。
- 静态修饰的内容一般我们称其为:与类相关的,类成员
- B:案例演示
- static关键字的特点
07.11_面向对象(static的注意事项)(掌握)
- A:static的注意事项
- a:在静态方法中是没有this关键字的
- 如何理解呢?
- 静态是随着类的加载而加载,this是随着对象的创建而存在。
- 静态比对象先存在。
- 如何理解呢?
- b:静态方法只能访问静态的成员变量和静态的成员方法
- 静态方法:
- 成员变量:只能访问静态变量
- 成员方法:只能访问静态成员方法
- 非静态方法:
- 成员变量:可以是静态的,也可以是非静态的
- 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
- 简单记:
- 静态只能访问静态。
- 静态方法:
- a:在静态方法中是没有this关键字的
- B:案例演示
- static的注意事项
07.12_面向对象(静态变量和成员变量的区别)(掌握)
- 静态变量也叫类变量 成员变量也叫对象变量
- A:所属不同
- 静态变量属于类,所以也称为为类变量
- 成员变量属于对象,所以也称为实例变量(对象变量)
- B:内存中位置不同
- 静态变量存储于方法区的静态区
- 成员变量存储于堆内存
- C:内存出现时间不同
- 静态变量随着类的加载而加载,随着类的消失而消失
- 成员变量随着对象的创建而存在,随着对象的消失而消失
- D:调用不同
- 静态变量可以通过类名调用,也可以通过对象调用
- 成员变量只能通过对 象名调用
07.17_面向对象(学习Math类的随机数功能)(了解)
C:获取随机数的方法
* public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
* D:我要获取一个1-100之间的随机数,肿么办?
* int number = (int)(Math.random()*100)+1;
/** * 获得一个给定范围的随机整数 * @param minNum 给定的范围最小值 * @param maxNum 给定的范围最大值 * @return 在此范围内的随机整数 */ public static int getRandomNum(int minNum, int maxNum) { Random random = new Random(); return (Math.abs(random.nextInt()) % (maxNum - minNum + 1))+ minNum; } /** * 生成指定长度的随机字符串 * @param length 指定长度 * @return 随机字符串 */ private static String generateLenString(int length) { char[] cResult = new char[length]; int i = 0; while (i < length) { i = i % length; int f = (int) (Math.random() * 3 % 3); if (f == 0) cResult[i] = (char) ('A' + Math.random() * 26); else if (f == 1) cResult[i] = (char) ('a' + Math.random() * 26); else cResult[i] = (char) ('0' + Math.random() * 10); i++; } return new String(cResult); } /** * 生成指定长度范围的字符串 * @param length * @return */ private static String generateLenString(int minLength,int maxLength) { if(minLength>maxLength) return ""; int length=getRandomNum(minLength,maxLength); //生成随机长度 char[] cResult = new char[length]; //存放结果 int i = 0; //i记录当前生成字符串的长度 while (i < length) { i = i % length; int f = (int) ( Math.random() * 3 % 3); if (f == 0) cResult[i] = (char) ('A' + Math.random() * 26); else if (f == 1) cResult[i] = (char) ('a' + Math.random() * 26); else cResult[i] = (char) ('0' + Math.random() * 10); i++; } return new String(cResult); }
0 0
- 面向对象_补充_封装_成员与局部变量_static关键字_Math随机数
- 面向对象_成员变量_ 局部变量_匿名对象_封装_构造函数_构造代码块
- 面向对象_成员变量和局部变量的区别
- Java面向对象_成员变量、局部变量、全局变量
- 1-Java的命名规则_关键字_数据类型_类_对象_面向对象的编程语言_封装_构造器_重载_this关键字_static修饰
- 黑马程序员_06_面向对象_成员变量_匿名对象_封装_构造函数_thisPrivate
- 黑马程序员_面向对象_static
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)
- 面向对象_什么时候定义成员变量
- 黑马程序员——面向对象_成员变量和局部变量的区别
- 面向对象_封装
- 面向对象_封装
- Java_多线程_成员变量与局部变量
- 黑马程序员_面向对象_封装
- 面向对象_静态变量和成员变量的区别
- 面向对象-成员变量、局部变量-封装
- 12_变量_成员变量和局部变量_常量_命名规范
- algrothm_面向对象_封装
- 牛腩新闻发布系统
- STM32的时钟配置
- StringTokenizer类的使用
- Android加载大图的优化策略
- UniversalMusicPlayer 学习笔记(二)
- 面向对象_补充_封装_成员与局部变量_static关键字_Math随机数
- Win7安装mongodb及配置
- EWM 标准服务类
- https+xml服务端/客户端java后台编写及soapUI https测试
- iOS 搜索框之UISearchBar
- SpringMVC-视图
- 编程规范 --- 变量 结构
- Axis2(一):配置指导
- Axis2 的配置方法