思维导图
实例变量与类变量
代码
public class Main{ public static void main(String[] args){ Student.name="袁华";//类变量可以直接用类名访问 Student s1=new Student(); s1.name="马冬梅";//类变量也可以用对象访问(不推荐) Student s2=new Student(); s1.name="秋雅"; //类变量被类的全部对象共享 System.out.println(s1.name);//输出秋雅 System.out.println(Student.name);//输出秋雅 //实例变量属于每个对象的变量 s1.age=23; s2.age=8; System.out.println(s1.age);//23 System.out.println(s2.age);//8 //System.out.println(Student.age);实例变量不可以直接用类名访问 } } class Student{ static String name;//类变量 int age;//实例变量 }
运行结果
实例方法与类方法
代码
public class Main{//实例方法、类方法与实例变量、类变量原理相似 public static void main(String[] args){ Student.printHelloWorld();//类方法直接用类名调用 Student s=new Student(); s.printHelloWorld();//类方法用对象调用 } } class Student{ public static void printHelloWorld(){//类方法 System.out.println("Hello world"); System.out.println("Hello world"); } }
运行结果
代码
public class Main{//构造方法 public static void main(String[] args){ Student s1=new Student(1,2); System.out.println(s1.x+" "+s1.y); Student s2=new Student(); Student s3=new Student(0.5); System.out.println(s3.z); } } class Student{ int x,y; double z; Student() { System.out.println("我是一名学生"); } Student(int a,int b){ x=a; y=b; } Student(double c){ z=c; } }
运行结果
代码
public class Main{ public static void main(String[] args){ Tom t=new Tom(); t.f(); System.out.println(t.y);//15 } } class Tom{ int x=10,y; void f(){ int x=5; y=x+this.x; } }
运行结果
代码
import java.util.Arrays; public class Main{ public static void main(String[] args){ int a[]={3,1,4,6,2,5}; System.out.println(a.length);//数组长度 System.out.println(a);//数组引用带[I@ System.out.println(System.identityHashCode(a));//数组引用不带[I@ System.out.println(Arrays.toString(a));//列表形式输出数组 System.out.println(Arrays.binarySearch(a,4));//数组查找某个元素(返回数组下标/负数) System.out.println(Arrays.binarySearch(a,21)); Arrays.sort(a);//排序(从小到大) for(int i:a){//遍历数组的循环 System.out.print(i+" "); } System.out.println(); } }
运行结果
代码
public class Main{//可变参数 public static void main(String[] args){ A a=new A(); a.f(1,2,3,4,5); a.g(2.0,1,2,3,4,5); } } class A{ void f(int ...x){ int sum=0; for(int i=0;i<x.length;i++){ sum+=x[i]; } System.out.println(sum); } void g(double a,int...x){ int sum=0; for(int i=0;i<x.length;i++){ sum+=x[i]; } System.out.println(sum*a); } }
运行结果
代码
public class Main { public static void main(String args[]) { Circle circle = new Circle(); circle.setRadius(10);//设置半径 Circular circular = new Circular(); System.out.println(circle);//引用带类名+@符号 System.out.println(circular.bottom);//没有赋值,引用为null circular.setHeight(5);//设置高 circular.setBottom(circle);//把圆的对象传入 System.out.println(circle); System.out.println(circular.bottom);//赋值了,引用与circle的相同 System.out.println(circular.getVolme()); circle.setRadius(20);//修改半径 System.out.println(circular.getBottomRadius()); circle = new Circle();//重新new,circle引用会变化 System.out.println(circle); System.out.println(circular.bottom);//circular.bottom引用不变 } } class Circle { double radius,area; void setRadius(double r) { radius=r; } double getRadius() { return radius; } double getArea(){ area=3.14*radius*radius; return area; } } class Circular { Circle bottom; double height; void setBottom(Circle c) { bottom = c; } void setHeight(double h) { height = h; } double getVolme() { if(bottom == null) return -1; else return bottom.getArea()*height/3.0; } double getBottomRadius() { return bottom.getRadius(); } public void setBottomRadius(double r){ bottom.setRadius(r); } }
运行结果
0.0分
1 人评分
C语言训练-角谷猜想 (C语言代码)浏览:1767 |
P1001 (C语言代码)浏览:836 |
printf基础练习2 (C语言代码)浏览:826 |
蛇行矩阵 (C语言代码)浏览:792 |
WU-输出正反三角形 (C++代码)浏览:1098 |
求圆的面积 (C语言代码)浏览:1755 |
罗列完美数 (C语言代码)浏览:519 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:721 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:953 |
1050题解(结构体数组与结构体指针的使用)浏览:1216 |