一基础相关知识点:
1. 一个对象的调用
首先我们创建一个Phone类
public class Phone {//成员变量String name;int age;String favourite;//成员方法public void myName(){System.out.println(name);}public void myAge(){System.out.println(age);}public void myFavourite(){System.out.println(favourite);}
}
根据Phone类我们创建一个对象。再访问成员变量,调用成员方法。
public class usingPhone {public static void main(String [] args){//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age+" "+P.name+" "+P.favourite);//调用成员方法P.myAge();P.myName();P.myFavourite();}
}
执行结果:
内存图分析
2. 两个对象使用一个方法:
创建Phone类:
public class Phone {//成员变量String name;int age;String favourite;//成员方法public void myName(){System.out.println(name);}public void myAge(){System.out.println(age);}public void myFavourite(){System.out.println(favourite);}
}
具体代码调用:
public class usingPhone {public static void main(String [] args){//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age+" "+P.name+" "+P.favourite);//调用成员方法P.myAge();P.myName();P.myFavourite();//创建对象Phone Q = new Phone();//访问成员变量Q.age = 191;Q.name = "ax1";Q.favourite = "eat1";System.out.println(Q.age+" "+Q.name+" "+Q.favourite);//调用成员方法Q.myAge();Q.myName();Q.myFavourite();}
}
内存图:
3. 两个引用指向同一个对象:
Phone 类的创建:
public class Phone {//成员变量String name;int age;String favourite;//成员方法public void myName(){System.out.println(name);}public void myAge(){System.out.println(age);}public void myFavourite(){System.out.println(favourite);}
}
具体的代码调用:
public class usingPhone {public static void main(String [] args) {//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age + " " + P.name + " " + P.favourite);//调用成员方法P.myAge();P.myName();P.myFavourite();Phone Q = P;System.out.println(Q.age + " " + Q.name + " " + Q.favourite);}
}
内存图:
4. 使用对象类型作为方法的参数:
普通的方法调用:
public class usingPhone {public static void main(String [] args) {//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age + " " + P.name + " " + P.favourite);//调用成员方法P.myAge();P.myName();P.myFavourite();//方法调用define(100);}public static void define(int num){System.out.println(num);}
}
使用对象类型作为方法的参数:
public class usingPhone {public static void main(String [] args) {//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age + " " + P.name + " " + P.favourite);//调用成员方法P.myAge();P.myName();P.myFavourite();//方法调用define(P);//等同于Phone ax = P;}public static void define(Phone ax){System.out.println("m"+"\t"+ ax.age);}
}
内存图:
5. 使用对象类型作为方法的返回值:
Phone类
public class Phone {//成员变量String name;int age;String favourite;//成员方法public void myName(){System.out.println(name);}public void myAge(int age){System.out.println(age);}public void myFavourite(){System.out.println(favourite);}
}
具体调用:
public class usingPhone {public static void main(String [] args) {//创建对象Phone P = new Phone();//访问成员变量P.age = 19;P.name = "ax";P.favourite = "eat";System.out.println(P.age + " " + P.name + " " + P.favourite);//调用成员方法P.myAge(19);P.myName();P.myFavourite();Phone Q = define();System.out.println(Q.age + " \n" + Q.name + "\n" + Q.favourite);}public static Phone define(){Phone Def = new Phone();Def.age = 18;Def.myAge(200);return Def;}
}
内存图:
二.成员(全局)变量与局部变量:
两者的区别:
1.定义的位置不一样
局部变量:在方法的内部。
成员变量:在方法的外部,直接写在类中。
============================================
2.作用范围不一样
局部变量:只有方法当中才可以使用,除了方法就不能再用。
成员变量:整个类中都可以使用。
=============================================
3.默认值不一样
局部变量:没有默认值,如果想使用,必须手动赋值。
成员变量:如果没有赋值,会有默认值,规则与数组的相同。
=============================================
4.内存的位置不一样
三.面向对象三大特征(封装,继承,多态)
1封装:将一些细节信息隐藏,直接调用即可。
1.方法就是一种封装
2.private也是一种封装
1.使用方法判断数组的最大值。
public class an7 {public static void main(String[] args) {int[] arr = {12,22,23,42,52,26,72,82,39};int max1 = methodmax(arr);System.out.println(max1);}public static int methodmax(int[] arr){int max = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i]>max){max= arr[i];}}return max;}
}
运行结果: