Java自学笔记Day13
Java学习笔记Day13一、今日学习:
面向对象第二节
二、学习目标
1、局部变量与成员变量
2、堆内存的作用
3、创建一个对象
4、如何访问对象的内部
5、访问对象时的内存状态
6、多个对象复杂访问?
三、学习内容
1、局部变量与成员变量
局部变量处于方法体内部声明,成员变量在方法体外部声明。
实例变量前面修饰符没有static,静态变量则有。
2、堆内存的作用
在创建对象的时候,对象就存储在堆内存里面,堆内存可以存储很多对象。
3、创建一个对象
如何在主方法中创建一个对象,使用对象的名字,就是class文件的文件名。
将一个class文件当作一个对象,class文件的类名就是对象的名字。
语法:类名+变量名=new 类名
public class ComputerTest {
public static void main(String[] args) {
Computer biJiBen=new Computer();
}
class Computer{
String brand;
String style;
String color;
}
4、访问对象内部
只需要在新定义的变量后面加个点,再加上对象里面的任意一个变量,就能访问这个对象里面的变量。如果需要给对象内部变量赋值,需要使用等于号。在没有赋值之前,对象内部的变量为默认值,是0或者null。
public class ComputerTest {
public static void main(String[] args) {
Computer biJiBen=new Computer();
biJiBen.brand = "华硕";
}
class Computer{
String brand;
String style;
String color;
}
5、访问对象时的内存状态
在执行这个对象的时候,将堆内存中的对象的地址赋值给定义的biJiBen变量,根据这个地址,就能访问到对象内部。新定义的变量存储了对象在堆内存中的地址。
使用语句biJiBen=null;就会把存储的地址清除,之后就无法访问对象内部了。
6、多个对象的访问,根据代码来理解吧。
这个运用我也不清楚是什么行为。
变量互换?
public class ComputerTest {
public static void main(String[] args) {
Computer biJiBen=new Computer();
biJiBen.brand="小米";
biJiBen.style="RedMI14";
biJiBen.color="black";
System.out.println(biJiBen.color);
System.out.println(biJiBen.style);
Student ming=new Student();
ming.no=2688;
ming.name="小明";
ming.notepad="笔记本";
biJiBen.suoyouzhe=ming;
System.out.println(biJiBen.suoyouzhe.name);//笔记本所有者的名字
System.out.println(ming.name);//学生小明的名字
}
}
class Computer{
String brand;//引用数据类型 字符串
String style;
String color;
Student suoyouzhe;//引用数据类型 所有者
}
class Student{
int no;
String name;
String notepad;
}
四、未解决问题
1、来自学习内容6的?未知理解
.代表的,ming.name表示小明的名字。为什么biJiBen.suoyouzhe=ming;
2、System.out.println(biJiBen.suoyouzhe.name);这个语句为什么可以这样写?
java现在挺香的 感谢大佬 凡事预则立不预则废,希望坚持下去,坚持就是胜利! 学习了不错 正愁找不到教程 up主太棒了 学习学习,从入门到入坟哈哈 加油! 加油加油.相信自己. 目前 java挺吃香的 我已经到框架了这个过程很艰辛 希望坚持 目测是,把ming这个对象赋值给 biJiBen.suoyouzhe
System.out.println(biJiBen.suoyouzhe.name);
这个意思是打印(笔记本的所有者的名字),打印出来是小明,
因为biJiBen.suoyouzhe=ming, Student ming 是个对象,赋值给了biJiBen.suoyouzhe
页:
[1]
2