1、值传递和地址传递
指针:就是一个变量,这个变量存储的是另一个变量的地址。
如果一个变量存储的是另一个变量的内存地址,我们就说这个变量指向另一个变量。
指针就是地址
2、构造函数:
1.函数名与类名相同
2.没有返回值类型,从某种意义上来讲,返回的是这个类的对象
3.我们在创建对象的时候调用构造函数,用new关键字来调用 Rect rec=new Rect();
4.作用:创建和初始化该类的对象,给成员变量赋初值
5.系统提供给我们一个默认的无参构造函数.如果定义了新的构造函数,默认的构造函数就不存在了.
6.我们可以用this这个关键字来调用兄弟构造函数,此句必须放在第一句.
3、this的3用法:
4、String类中方法的使用,问:String、StringBuffer、StringBuilder的区别:
StringBuffer sb=new StringBuffer("hello");
StringBuffer向String转化
方法1:
StringBuffer sb=new StringBuffer("hehe");
String str=sb.toString();
方法2:
String str1=new String(sb);
String 定义的对象是不可以修改的,返回的是一个新的对象,原来的对象就会成为垃圾。
如果要对一个字符串对象进行多次修改,应该使用StringBuffer或StringBuilder。
StringBuffer 同步 安全 效率低
StringBuilder 异步 效率高
5、基本数据类型的封装类的运用:
Integer类中的两个方法
parseInt() toString()
Double Float Character Boolean
整形==3种===>字符串===2种==>整形 Integer String
toString() "+" 直接输出 parseInt() “+”
6、命令行参数:
命令行参数是程序执行中紧跟在程序名后面的信息。 java Test5 hello everyone!
它们作为字符串存储,再传递给main()的String数组中,所有的命令行参数都是以字符串形式传递的。
静态加载(缺点):在编译的时候就要把这个类对象加载进来,如果这个类不存在,就要报错.
7、关键字:package import
包:相当于目录(文件夹)
package 打包 范围 大--->小 com.gem.test;
import 导包 java.lang包下的类是不需要导包的
同时使用时应注意顺序:
对于.java文件而言,包名就是包名;
对于.class文件而言,包名是.class文件的前缀名
面向对象四大特性:多态 继承 封装 抽象
8、方法重载(多态性的体现) overload
在一个类中,存在着这样一组方法:方法名相同,参数表不同(类型不同,个数不同,顺序不同),与返回值类型无关。
9、构造函数重载(多态性的体现)
10、四大访问修饰符(public protected private default)
public 公共的 同一包 不同包
protected 受保护的 同一包 不同包(子类)
default 缺省的 只能在同一包下相互访问
private 私有的 只能在类的内部被访问
定义类的修饰符: public default
在一个类中有哪些元素 : 成员变量 方法 构造函数
作业2:
1、利用String类中的方法,将一个字符串倒叙输出(熟练使用String类中的方法)
2、从键盘输入两个值,求得其最大公约数、最小公倍数
3、定义一个数组,数组的大小是一个随机数,数组中的元素也都是随机数
4、随机产生一个随机数,然后接受键盘的输入值,猜大猜小,直到猜对为止
Math.random();
Scanner in = new Scanner(System.in);