前言:
经过了这么多天的等待我们马上就要迎来中国的传统节日——七夕,屏幕前的你是不是还是独自一个人在刻苦的学习Java呢。哈哈,不要难过,不要哭泣,Java是一个面向对象的编程语言,我们终于可以给自己new一个对象出来了!是不是顿时感觉有了干劲呢,那还不抓紧时间学起来,等以后别人问你的时候,你就直接说我有很多对象。随即掏出自己的idea,一顿操作。
好好学习吧,未来的你一定前途无量。
初识面向对象
方法回顾和加深
import java.io.IOException;
//Demo01 类
public class Demo01 {
//main方法
public static void main(String[] args) {
}
/*
修饰符 返回值类型 方法名(...){
方法体
return 返回值;
}
*/
//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 IOException{
}
}
静态方法的调用
非静态方法的调用
参数传递
值传递
public class Demo04 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
Demo04.change(a);
System.out.println(a);
}
//返回值为空
public static void change(int a){
a=10;
}
}
1
1
引用传递
public class Demo05 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);
Demo05.change(person);
System.out.println(person.name);
}
public static void change(Person person) {
//perso是一个对象,指向-> Person person = new Person();这是一个具体的人,可以改变属性!
person.name = "czf";
}
}
//定义了一个person类,有一个属性:name
class Person{
String name;//null
}
null
czf
类与对象的关系
构造器
构造器:
- 和类名相同
- 没有返回值
作用:
1.new本身在调用构造方法
2.初始化对象的值
注意点:
1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造
对象的创建分析
如图我们构建了Pet类,在类中定义了 name(String类型),age(int类型),并且定义了一个无参构造方法shout。随后,创建dog对象,并且向name,age中传递参数,最后通过dog对象调用这些方法。
旺财
3
最后得到结果,那么这一套流程下来,它的内存产生了怎样的变化呢?
这张图就详细的解释了为什么我们起了不同的对象名称,都是new的同一个类,调用的方法缺完全不同。因为你每次new的一个新的Pet类,就会在堆中出现一个引用变量名,然后会在栈中开辟出一个新的空间,每一个引用变量名会指向它相对应的堆中的内存。
类与对象小结
- 类与对象
类是一个模板:抽象,对象是一个具体的实例 - 方法
定义、调用! - 对应的引用
引用类型: 基本类型(8)
对象是通过引用来操作的:栈—>堆 - 属性:字段Filed 成员bian’l
默认初始化:
数字:0 0.0
char:u0000
boolean:false
引用:null
修饰符 属性类型 属性名=属性值! - 对象的创建与使用:
必须使用new关键字创造对象,构造器 Person p=new Person();
对象的属性 p.name
对象的方法 p.sleep(); - 类:
静态的属性 属性
动态的行为 方法
特别感谢:
附上视频地址
狂神yyds
https://www.bilibili.com/video/BV12J41137hu?p=30