回顾方法的定义
方法的定义:
-
修饰符
-
返回类型
-
break和return的区别
-
方法名
-
参数列表
-
异常抛出
方法的调用
-
静态方法
-
非静态方法
-
形参和实参
-
值的传递和引用传递
-
this关键字
package com.oop.demo01; //Demo01 类 public class Demo01{ //main 方法 public static void main(String[] args){ } /* 修饰符 返回类型 方法名(...){ //方法体 return "hello world"; } */ //return 结束方法,返回一个结果 public String sayHello(){ return "hello,world"; } public void print(){ return; } public int max(int a,int b){ return a>b ?a : b;//三元运算符 } //数组下标越界:Arrayindexoutofbounds public void readFile(String file) throws IOExceptiom{ } }
package com.oop.demo01; public class Demo02{ public static void main(String[] args){ //实例化这个类 new //对象类型 对象名 = 对象值; Student student = new Student(); student.say(); } //和类一起加载的 public static void a(){ //b(); 会报错 } //类实例化 之后才存在 public void b(){ } }
package com.oop.demo01{ //学生类 public class Student{ //非静态方法 public void say(){ System.out.println("学生说话了"); } } }
package com.oop.demo01; public class Demo03{ public static void main(String[] args){ //实际参数和形式参数的类型要对应 int add = Demo03.add(a:1,b:2); System.out.println(add); } public static int add(int a,int b){ return a+b; } }
package com.oop.demo01; //值传递 public class Demo04{ public static void main(String[] args){ //args:{} int a = 1;//a:1 System.out.println(a);//1 Demo04.change(a); System.out.println(a);//1 a:1 } //返回值为空 public static void change(int a){ a = 10; } }
package com.oop.demo01; //引用传递:对象,本质还是值传递 public class Demo05{ public static void main(String[] args){ Perosn perosn = new Perosn(); System.out.println(perosn.name);//null Demo05.change(perosn); System.out.println(perosn.name);//小郑 } public static void change(Perosn perosn){ //perosn是一个对象:指向的--> Perosn perosn = new Perosn();这是一个具体的人,可以改变属性 perosn.name = "小郑"; } } //定义了一个Perosn类,有一个属性:name class Perosn{ String name;//null }
类与对象的关系
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
-
动物,植物,手机,电脑
-
Person类,Pet类,Car类等,这些类都是用来描述/定义某一类具体的事物应该具有的特性1和行为
对象是抽象概念的具体实例
-
张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例
-
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
package com.oop.demo02; //学生类 public class Student{ //属性:字段 String name; int age; //方法 public void study(){ Systrm.out.println(this.name+"在学习"); } }
package com.oop.demo02; //一个项目应该只存在一个main方法 public class Application{ public static void main(String[] args){ //类:抽象的,实例化 //类实例化后会返回一个自己的对象 //student对象就是一个Student类的具体实例 Student xiaoming = new Student(); Student xiaohong = new Student(); System.out.println(xiaoming.name); } }
创建与初始化对象
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特性:
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
package com.oop.demo02; //一个项目应该只存在一个main方法 public class Application{ public static void main(String[] args){ //类:抽象的,实例化 //类实例化后会返回一个自己的对象 //student对象就是一个Student类的具体实例 Student xiaoming = new Student(); Student xh = new Student(); xiaoming.name = "小明"; xiaoming.age = 3; System.out.println(xiaoming.name); System.out.println(xiaoming.age); xh.name = "小红"; xh.age = 3; System.out.println(xh.name); System.out.println(xh.age); } }