`
文章列表
重载是一定不允许的。比如 Java代码 classSuper{ voidf(){ } intf(){ return1; } } 原因在与如果调用时int i = f();可以知道是调用Sub的f()。但是,往往用户不关心返回值。只是f()。这样就无法确定到底是哪个。 覆盖一般情况是不允 ...
在 JAVA 中,有六个不同的地方可以存储数据:1. 寄存器( register )。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈( stack )。位于通用 RAM 中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时候, JAVA 编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动 ...
Java中内存分析: 1.栈(Stack):存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(字符串常量对象存放在常量池中)。 2.堆(heap):存放所有new出来的对象。 3.常量池(constant pool):在堆中分配出来的一块存储区域,存储显式的String常量和基本类型常量(float、int等)。另外,也可以存储不经常改变的东西(public static final)。常量池中的数据可以共享。 4.静态存储:存放静态成员(static定义的)。 示例分析 1). String a = "abc& ...
/* * for-each * 二维数组和多维数组的遍历,其实最终都要以指针来分析程序的运行 * * */ package com.zou; public class ForEach3 { public static void main(String[] args) { int sum=0; int nums[][]=new int[3][5]; //给nums赋值 for(int i=0; i<3; i++) for(int j=0; j<5; j++) nums[i][j]=(i+1)*(j+1);//规则赋值 ...
/* * 学好程序的方法: * * 1 分析清楚任何一个程序、函数、类和对象和变量在内存中清楚的内存分配和运行调用情况 * 2 分析清楚任何一个Java类的实现情况 * 3 多看看源代码 4 每一个知识点网上都有详细说明,除了学书本的,也要补充网上的知识 * * */ 清单 1 // 使用 for-each 类型的循环. class ForEach { public static void main(String args[]) { int nums[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; i ...
在做Java可视化程序时,用到下面这几个包,请问该怎么处理:(Eclipse环境) importorg.eclipse.swt.SWT; importorg.eclipse.swt.widgets.Display; importorg.eclipse.swt.widgets.Shell; 提示:theimportorg.eclipsecannotberesolved. 在eclipse的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar, 文件名中中3.2.1是eclipse的版本号,v3235是SWT ...
http://lavasoft.blog.51cto.com/62575/18771/
this 关键字 1 指针,指向调用该方法的对象! 2 thils在方法中使用的,指向对象,然后调用该对象的另外属性! 培养兴趣、扎实基础! package obj; public class Hello { String s = "Hello"; public Hello(String s) { System.out.println("s = " + s); System.out.println("1 -> this.s = " + this.s); this.s = s; Sy ...
/* 每天要半小时以上的学习,只有循序渐进 1、static(静态成员) 修饰的成员不能修饰没有static(非静态成员)修饰的成员 2、 Java通过new 关键词来调用构造器,反悔该类的实例 3 、 1)构造器名字一定要和类名相同,没有返回值类型的声明或者void修饰,如果有以上的修饰, 就是普通方法处理 2)构造器其实反悔的是类的实例 3)构造器里面不能写return */ .......................................................... /* java源文件的命名规则是这样的:如果源文件中有多个类, 那么 ...
class JieCheng { public static void main(String[] args) { //System.out.println(jie(20)); JieCheng j = new JieCheng(); System.out.println(j.jie(12)); } public long jie(long n) { if(n==0)//递归终止条件 return 1 ; else return n*jie(n-1);//递归循环体,需要抽取规律 ...
本文将介绍JVM内存的组成(堆和非堆)以及它们的分配。 java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据) ...
1、 用static修饰的方法能不能调用非static方法,能不能访问非static变量?为什么? 答案: 不能,因为静态方法在类装载的时候就分配了内存块,而非静态的方法和变量在new这个类的对象的时候才分配内存块, 他们内存分配的时间不一样 静态区域访问非静态 区域是没有任何意义的! 2、static 关键字--详细描述 static 修饰符可以用来修饰类的成员变量,成员方法和代码块。 用 static 修饰的成员变量表示静态变量,可以直接通过类来访问。 用 static 修饰的成员方法表示静态方法,可以直接通过类名来访问。 用 static 修饰的程序代码 ...
什么是位、字节、字、KB、MB   位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。   字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字 ...
// 计算大于或者等于n的最小的二次幂 #include "stdio.h" int main(void) { int i,n; scanf("%d %d",&i,&n); while (1)//让输入运作起来 { while(i<n) { i=i*2; } printf("%d\n",i); scanf("%d %d",&i,&n); } return 0; }
/* 此程序可以在控制台删除一个文件或者文件夹 */ #include <stdio.h> int main(void) { char file[80]; /* prompt for file name to delete */ printf("File to delete: "); gets(file); /* delete the file */ if (remove(file) == 0)//调用remove函数 printf("Removed %s.\n",file); ...
Global site tag (gtag.js) - Google Analytics