JavaDay2
public/private/protected/default区别
例如
//类的调用,一个java文件中只能有1个public类 public class Hello{ public static void main(String[] args){ Dog dog=new Dog(); dog.age=10; dog.len=100; dog.eat(); dog.run("hello"); } } package lw; public class Dog { protected int age; // protected和public、default都可被调用,private不可以 protected int len; public void eat(){ System.out.println("this dog eat "+len+"food"); } public void run(String food){ System.out.println("this dog eat"+food+"food"); } }
递归的使用
package lw; public class Recursion { //java 中递归的使用 public static void main(String[] args){ int a=4; System.out.println(recursion(a)); } public static int recursion(int num){ int sum=0; if(num>=1){ return num+recursion(num-1); } else{ return sum; } } }
对象数组
package lw; public class New_object { public static void main(String[] args) { Dog[] dogs = new Dog[7]; for (int i = 0; i < dogs.length; i++) { dogs[i] = new Dog(); } dogs[6] = null; // System.out.println(dogs[0]); for(int j=0;j<dogs.length;j++){ System.out.println(dogs[j]); } } }
内存划分
Java虚拟机在执行Java程序时会将内存划分为若干个不同的数据区域, 主要有 PC寄存器(Program Counter Register) : 存储Java虚拟机正在执行的字节码指令的地址. Java虚拟机栈(Java Virtual Machine Stack) : 存储Java方法的栈帧 堆(Heap) : 存储GC所管理的各种对象(平时 new 出来的对象) 方法区(Method Area) : 存储每一个类的结构信息(比如字段和方法信息, 构造方法和普通方法的字节码等) 本地方法栈(Native Method Stack) : 用来支持native方法的调用(比如用C语言编写的方法) 原文链接:Java基础语法_CoderZk的博客-CSDN博客
构造方法
package lw; public class ConstructMethod { int id; String name; ConstructMethod(int i,String nn){ id=i; name=nn; } void display(){ System.out.println(id+" "+name+" hello"); } public static void main(String[] args){ ConstructMethod c1=new ConstructMethod(1,"lw"); ConstructMethod c2=new ConstructMethod(2,"ll"); c1.display(); c2.display(); } }