回顾方法及加深
方法的定义
-
修饰符
-
返回类型
-
break: 跳出switch,结束循环和return的区别
-
方法名:注意规范就OK见名知意
-
参数列表:(参数类型,参数名)…
-
异常抛出:如:数组下标越界:Arrayindexoutofbounds
方法的调用
-
静态方法
-
非静态方法
package com.oop;
//什么是面向对象?
//面向对象编程(Object-Oriented Programming,OOP)
//面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
//抽象
//三大特性:
// 封装
// 继承
// 多态
//从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
//从代码运行角度考虑是先有类后有对象。类是对象的模板。
public class Demo02 {
public static void main(String[] args) {
//静态方法
//Student.say();
//非静态方法
Student student = new Student();
Student.say();
}
//和类一起加载的
public static void a(){
//b();
}
//类实例化后才存在
public void b(){
}
}
- 形参和实参
package com.oop;
public class Demo03 {
public static void main(String[] args) {
//实际参数和形式参数的类型要对应!
int add = Demo03.add(1,2);
System.out.println(add);
}
public static int add(int a, int b){
return a+b;
}
}
- 值传递和引用传递
package com.oop;
//值传递
public class Demo04 {
public static void main(String[] args) {
int a = 1;
System.out.println(a);//1
Demo04.change(a);
System.out.println(a);//1
}
//返回值为空
public static void change(int a){
a = 10;
}
}
package com.oop;
//引用传递: 对象 ,本质还是值传递
//对象! 内存!
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
Demo05.change(person);
System.out.println(person.name);//陈爷
}
public static void change(Person person){
//person是一个对象:指向的-->Person person = new Person();这是一个具体的人,可以改变属性!
person.name = "陈爷";
}
}
//定义了一个Person类,有一个属性:name
class Person{
String name;//默认:null
}
- this关键字