面向过程:线性思维
面向对象:以类的方式组织代码,以对象的形式封装数据
主程序,从main方法开始执行
public class App {
public static void main(String[] args) {
//1.声明变量并赋值
String say = "Hello World!"
//2.输出
System.out.println(say);
}
}
执行结果
Hello World!
类=属性+方法
return表示方法结束,后面都不再执行
return返回值要和返回值类型相同
return返回值类型为void,表示返回值为空(也就是直接执行方法)
public class App {
public static void main(String[] args) {
}
//无返回值
public void say(){
return;
}
//返回字符串
public String hello(){
return "Hello World!";
}
//返回最大值
public int max(int a, int b){
return a > b ? a : b;
}
}
属性就是声明变量
方法就是执行动作
先设计好类,再用主程序调用
类程序Student.java
public class Student {
//2.静态方法
public static void study(){
System.out.println("在学习");
}
}
主程序App.java
public class App {
public static void main(String[] args) {
//1.静态方法调用
Student.study();
}
}
主程序执行结果
在学习非静态方法调用
先设计好类,再用主程序调用
类程序Student.java
public class Student {
//3.非静态方法
public void say(){
System.out.println("我要说话");
}
}
主程序app.java
public class App {
public static void main(String[] args) {
//1.实例化Student类
Student student = new Student();
//2.调用Student类方法
student.say();
}
}
主程序执行结果
我要说话形参,实参
类程序Student.java
形参(int a, int b)
public class Student {
//3.非静态方法
public int max(int a, int b){
return a>b ? a:b;
}
}
主程序App.java
实参(5,6)
public class App {
public static void main(String[] args) {
//1.实例化Student类
Student student = new Student();
//2.执行max方法,返回值赋值给max变量
int max = student.max(5,6);
//4.输出max
System.out.println(max);
}
}
值传递
public class App {
public static void main(String[] args) {
//1.声明变量a=1
int a = 1;
//2.执行change方法,给a赋值
App.change(a);
//3.由于方法没有返回值
//4.所以输出1
System.out.println(a);
}
//无返回值的方法
public static void change(int a){
//给变量a赋值
a = 10;
}
}
执行结果
1引用传递
public class App {
public static void main(String[] args) {
//1.实例化Person类,同样就拥有了Person类的属性
Person person = new Person();
//2.输出Person类name属性的值
System.out.println(person.name); //null
//3.执行change方法
App.change(person);
//5.输出Person类name属性的值
System.out.println(person.name); //魏君
}
public static void change(Person person){
//4.为Person类name属性赋值
person.name="魏君";
}
}
//类写在了主函数外
class Person{
String name;
}
执行结果
null 魏君



