1.课后练习,类的设计
1)方法结束了,(局部)变量的作用域就结束了,变量也就出栈了 ,就消失了。
2)Main方法是程序的入口,只有有了main(main也是一种方法)了,程序才能运行。
3)调用的方法如果有返回值,要定义个变量去接收 后者 直接把方法放在在sysout里,(编译器会把方法当成变量,变量的值就是返回值)方法结束了(比如main)
里面的局部变量也就压出栈了。
ctrl+/注释掉所选代码
4)要不要形参,就看外界是否传东西进来
Ps:同一包下的类不能重名
5)调用类中的方法,首先要new一个对象,在同一类中也是一样的。eg:Test类
package com.atguigu2.java;
public class StudentTest {
public static void main(String[] args){
//声明一个student类型的数组
Student[] stus = new Student[20];//数组元素可以是任何类型, string[]
for(int i=0;i< stus.length;i++){
stus[i] = new Student();
stus[i].number = (i+1);
stus[i].state = (int)(Math.random()*(6-1+1) + 1);
stus[i].score= (int)(Math.random()*(100-0+1));
}//给数组的元素赋值,再给元素的属性赋值
// for(int i=0;i<stus.length;i++){
// System.out.println(stus[i]);//显示的是地址值
//正确写法 System.out.println(stus[i].number+",");
// System.out.println(stus[i].info());
// }
//使用冒泡排序按学生成绩排序,并遍历所有学生信息
for(int i = 0;i < stus.length - 1;i++){
for(int j = 0;j < stus.length-1;j++){
if(stus[j].score > stus[j+1].score){
//如果需要排序,交换的是数组的元素:Student对象
Student temp = stus[j];
stus[j] = stus[j+1];
stus[j+1] = temp;
}
}
}
//遍历学生数组
for(int i = 0;i < stus.length;i++){
System.out.println(stus[i].info());
}
}
}
class Student{
int number;
int state;
int score;
public String info(){
return "学号" +number + "年级"+state+"成绩"+score;
}
}
6)new出来的结构都在堆空间中(不考虑static)
扫描二维码关注公众号,回复:
13481849 查看本文章
7)编译完源程序以后,生成一个或多个字节码文件。使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。意味着,此时才会将字节码文件加载到内存中(加载内存是运行时才做的事)
面向对象两个重要概念:类和对象(实例)