前一段时间看了尚学堂马士兵师的java视频,快放假了用这几天再复习一下。马老师说内存分析是java中的易筋经,所以本文的题
目就出来了。呵呵!抓紧时间多学点东西。
- 在一个java源程序中,只能有一人为public类型的类。并且
- 这个类名与文件名相同。
- 如:Person.java(文件名Person)
- //类名Person 与文件名Person.java相同,一个源文件中只有一个public类。
- public class Person{
- //方法名Person与类名相同
- Person(){ }
- public static main(String[] args){
- }
- }
- 方法名必须与类名相同。
- 方法分配在栈内存中,在执行方法时,方法的变量在栈内存中,
- 在方法调用完成后方法内的变量就消失。
- 在没有写构造方法时编译器会默认加一个没有参数构造方法,
- 当自己定义一个构造方法时系统不再给添加。
- class BirthDate{
- int day,month,year;
- public BirthDate(){
- }
- public int getDay(){
- }
- public int getMonth(){
- }
- public int getYear(){
- }
- public void display(){
- }
- }
- public class Test{
- public static void main(){
- }
- }
- 在引用带有参数的构造方法时,参数在栈内存中先建立,调用完成后消失
- 参数为局部变量,在调用完成后消失。
- 点类来表示三维空间,可以生成特定
- class Point{
- double x,y,z;
- Point(double _x,double _y,double _z){
- x=_x;
- y=_y;
- z=_z;
- }
- void setX(double _x){
- x=_x;
- }
- void setY(double _y){
- y=_y;
- }
- void setZ(double _z){
- x=_z;
- }
- double getDistance(Point p1){
- return (x-p1.x)*(x-p1.x)+(y-p1.y)*(y-p1.y)+(z-p1.z)*(z-p1.z);
- }
- }
- public class TestPoint{
- public static void main(String[] args){
- Point p=new Point(1.0,2.0,3.0);
- Point P1=new Point(2.0,3.0,1.0);
- System.out.println(p.getDistance(p1));
- p.setX(5.0);
- System.out.println(p.getDistance(new Point(1.0,1.0,1.0)));
- }
- }
- 方法重载:一个类中定义多个方法名相同但参数不同的方法
- OverLoad:方法名一样,参数不一样
- 参数不一样:参数个数,参数类型不一样
- public class OverLoad{
- max(int a,int b){
- System.out.println(a>b?a:b);
- }
- max(Float a,Floatb){
- System.out.println(a>b?a:b);
- }
- max(double a,double b){
- System.out.println(a>b?a:b);
- }
- public static void main(String[] args){
- OverLoad ol=new OverLoad();
- ol.max();
- }
- }
- 和普通方法一样构造方法也可以构成重载。