java回顾第一章

懒懒张187 2021-04-04 10:09:19
关于面向过程和面向对象
面向过程:当我们遇到一件事情的时候,我们自己分析事情的解决步骤,按照步骤一步步完成。重视的是事情解决的过程。
面向对象:当我们遇到事情的时候,我们不自己完成,找一个能够帮我么们完成事情的对象,调用对象完成事情的功能,重视的是对象。
现实生活中的事务:
属性、行为(功能)
我们可以把现实生活中的事务抽象为Java中的类(类是Java的基本单位)
把事务的属性抽象为类中的成员变量(定义在成员位置的变量:类中,方法外)
把事务的行为抽象为类中的成员方法(定义在成员位置的方法,去掉static关键字)
封装:私有成员变量,对外提供公共的get/set方法
构造方法:创建对象就是调用类中的构造方法
定义格式:
修饰符 构造方法名(参数){
为成员变量赋初始值
}
特点:
1.没有返回值类型,也没有加void(是根本就没有)
2.没有返回值
3.必须和类名相同
构造方法的注意事项:
1.类中没有定义构造方法,Jvm会为类默认添加一个无参构造方法
格式类似于:public People(){}
2.类中已经定义了构造方法(有参,无参),那么jvm就不会给类添加默认构造方法了
3.构造方法可以重载(在一个欸中方法名称相同,但是参数列表不同(个数,顺序,数据类型)的方法)
public Class Student{
private String name;
private int age;

public Student(){
System.out.println("这是个空参构造");
}

public Student(String name, int age){
this.name = name;
this.age = age;
System.out.println("这是个满参构造");
}

public String getName(){
return name;
}

public void setName(String name){
this.name = name;
}

public int getAge(){
return age;
}

public void setAge(){
this.age = age;
}


package com.llz.demo01Object;
/*
测试类:
包含main方法的类叫测试类
*/
public class Demo01Student {
public static void main(String[] args) {
//使用Student类的无参数构造方法创建Student对象
Student s1 = new Student();
//使用set方法,给成员变量赋值
s1.setName("迪丽热巴");
s1.setAge(18);
//使用get方法,获取成员变量的值
System.out.println(s1.getName()+"\t"+s1.getAge());
System.out.println(s1);//com.llz.demo01Object.Student@4554617c

//使用Student类中的满参数构造方法创建Student对象
Student s2 = new Student("古力娜扎",20);
//使用set方法,修改成员变量的值
s2.setAge(18);
//使用get方法,获取成员变量的值
System.out.println(s2.getName()+"\t"+s2.getAge()); (注意:"\t"的作用是补全当前字符串长度到8的整数倍,最少一个最多8个)
}
}
}


关于this关键字
this关键字:代表本类对象的引用,哪个对象调用的方法,方法中的this就是哪个对象
this的作用:当局部变量和成员变量重名时,使用this可以区分局部变量和成员变量
this. 变量名 -->成员变量

public Class Person{
private String name;

public void show(){
String name = "小刘";
System.out.println("name:"+name); //小刘 变量的就近原则
System.out.println("this.name:"+ this.name); //隔壁老王 this变量名代表成员变量
}

public Person() {
}

public Person(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

/**
* 测试类
*/
public class Demo01This {
public static void main(String[] args) {
//创建Person类的对象
Person p = new Person("旺财");
p.show();
}
}


对象的内存图




1:定义一个 Student引用类型 变量名为 s1
2:创建 new 即创建一个新对象 具体参数值取决于new后的构造函数或者set值
3:初始化 将具体值传递给对应的属性












...全文
91 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧