四 面向对象(①-④)


① 类和对象
类是对象的抽象,对象是类的实例化[修饰符(public)] class 类名 [继承][接口]{
 0—n个属性;
 0---n个方法;
}
声明创建使用
A a=new A();
使用时设置对象里的值进行运算
内存分析
栈与堆 根据栈去找对应在堆里的值

② 方法
完成一类功能的代码集合,可以提高效率。
主方法:public static void main(){}
一般方法:[修饰符] 返回值类型 方法名([参数列表]) [throws 例外1,例外2]{
  方法体;
 [return 返回值;]
 }
修饰符:public、static、final……
返回值类型:如果方法有返回值需标明返回值类型,在结尾返回对应类型的参数,如果该方法没有返回值则使用void
方法名:就是方法的名字(方法名是自己定义的,但是方法名不可以乱写,必须遵循:
第一个字母小写,如果使用多个单词,除第一个单词外其他单词第一个字母大写,使用的单词最好能够明确表达出该方法的主要功能
参数列表:有的方法调用它时需要传参,此时需要在方法列表中写好对应的参数列表
方法的调用:在java中方法不可单独调用,调用方法必须使用类或对象做调用者(类/对象.方法)。
三看:一看 static 二看 返回值类型 三看 参数列表
方法前带有静态修饰符static表明该方法是静态方法,静态方法属于类可用类调用也可用对象来调用
方法前无static的是普通方法,普通方法属于对象可使用this.方法调用也可直接调用
方法中有void代表无返回值可直接调用,反之需要定义相应的类型变量接受返回值再输出
有参数列表的调用时需要传入相应类型的参数
方法中参数传递:值传递(真实值、地址值)
形参:(形式参数)定义方法时,方法参数列表中的参数
实参:(实际参数)调用方法时,传递给形参的值就是实参
值传递,就是将实际参数值的副本(复制品)传入方法内,而参数本身不会受到影响。
方法重载
当定义多个同名的方法,这些方法的参数列表不一样(1.参数个数不一样 2.参数类型不一样 3.参数顺序不一样),就是方法的重载
方法的递归调用:直接或者间接的调用该方法本身

③构造方法
方法名和类名一致用来初始化一个对象的特殊方法,构造方法无返回值无void,构造方法不能被直接调用,每个类至少有一个构造方法,如果没有系统会自动提供一个空的反之不提供
在一个构造方法中调用另一个构造方法使用this(参数)的形式,其中this(参数)必须位于第一行,在一个构造方法中最多使用一个this调用一个构造方法

④ 成员变量局部变量
成员变量:在类的范围里面定义的变量
定义一个属性时如果使用static修饰,则就是类属性;如果没有,就是实例属性(实例就是对象)
区别:类属性保存在全局数据区,实例属性保存在堆中。
局部变量:
1形参:整个方法中有效
2方法局部变量:在方法中,从定义开始到方法结束
3代码块局部变量:在代码块中,从定义开始到代码块结束
成员变量局部变量区别:
1.定义变量的位置不同 局部变量在方法中  成员变量在类中
2.保存变量的位置不同 局部变量在栈中  成员变量在堆和全局数据区中
3.局部变量(除了形参)必须要初始化才能使用  成员变量可以不用初始化系统会提供默认值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值