package 面向对象编程;

public class Demo1 {
/**
* JAVA核心思想就是OOP(面向对象编程)
* 面向对象抽象
* 思想:
* 物以类聚,分类的思维模式,四核处理复杂的问题,
* 适合需要多人协作的问题,适合处理浮复杂的问题
* 本质(重点):以类的方式组X.织代码,以对象的组织(封装)数据
* 抽象(抽像:把像的部分抽取出来):把很多等共同点抽取出来,组成一个类
* <p>
* 三大特征:
* 封装:数据包装(留一个口去访问中间数据)
* 继承:子类继承父类(儿子继承爸爸财产)
* 多态:同一个事物有多个形态
*/
//回顾:类核心方法mian方法,启动程序,一个程序里面只有一个main方法
public static void main(String[] args) {

}
//定义方法 public公共的 String字符串

/**
* 返回什么样的值就返回什么样的类型
* 修饰符 返回值类型 方法名(...){
* //方法体
* return 返回值;
* }
*
* @return
*/
public String sayHello() {
return "hello,word";//返回
}

public void hello() {
//返回空,可不写
return;
}

public int max(int a, int b) {//形试参数
return a > b ? a : b;//三元运算符
//if else
}
/**回顾:
* break:跳出switch,结束整个循环
* return:方法结束,已返回结果。返回值必须和返回值类型相同
*/
public String a(){
return "b";
//System.out.println();报错
}
//静态方法static

}

package 面向对象编程;

public class Demo2 {
public static void main(String[] args) {
//回顾:Demo3.say(); say()报错无法调用,把Demo3改成静态方法加static
//实例化这个类
//对象类型Demo3 对象名demo3 = 对象值
Demo3 demo3 = new Demo3();
//对象名.say()(对象名.方法)
//demo3.say();
}
//public class Demo3 {
// public void say(){
// System.out.println("我们一起说悄悄话");
// }
//}
}

package 面向对象编程;

public class Demo3 {
//回顾
public static void main(String[] args) {
//实际参数和形式参数的类型要对应
int add = Demo3.add(1,2);//返回值
System.out.println(add);
}
//形式参数
public static int add(int a,int b){
return a+b;
}
}
package 面向对象编程;
//回顾:值传递
public class Demo4 {
public static void main(String[] args) {
int a = 1;
System.out.println(a);//1 定义a=1
Demo4.change(a);
System.out.println(a);//1
}
public static void change(int a ){
a=10;
}
}
package 面向对象编程;
//回顾:引用传递,本质还是值传递
public class Demo5 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
Demo5.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

}