摘要:
package cs;JAVA重写:又称为覆盖,发生前提为:在继承中发生,子类重写父类的方法,要求返回类型一样,参数个数和参数类型一样,函数名称一样。而且覆盖对访问级有要求。JAVA重载:发生在同一个类中,要求函数名称一样,返回值没有做要求,但参数类型或者参数个数至少有一个不一样,其对访问修饰符没有要求。在用static修饰的方法中,该方法没有多态性,因此不能被重写,如果在子类里面出现的方法和父类一样,形似方法重写,实际上是子类隐藏了父类的方法。如下代码:public class csa { public static void main(String args[]){ M m=new N(. 阅读全文
摘要:
一、对象的初始化顺序:(java类加载器加载类的顺序:http://blog.csdn.net/crazycoder2010/article/details/6288732)(1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的) 1.为父类的静态属性分配空间并赋于初值 1.执行父类静态初始化块;(2)加载子类 2.为子类的静态属性分配空间并赋于初值 2.执行子类的静态的内容;(3)加载父类构造器 3.初始化父类的非静态属性并赋于初值 3.执行父类的非静态代码块; 4.执行父类的构造方法;(4)加载子类构造器 5.初始化子类的非静态属性并赋于初值 5.执行子类的非... 阅读全文
摘要:
构造函数 在Java程序中,当使用new关键字创建一个对象时,系统会自动调用类的某一个构造函数,可用来初始化类的成员变量。1. 构造函数(1) 构造函数的作用:用于初始化类的成员变量,也即给类的成员变量赋初值。(2)构造函数的函数名必须与类名相同。(3) 构造函数无返回类型。原因:构造函数是在创建对象的时候被调用,此时,编译器无法处理返回值,所以不能指定返回类型。(4) 构造函数中可以带有参数,定义带参数的构造函数的好处:在实例化类时,可以根据自己的需要来动态初始化类的成员变量,而不是固定在程序中。(5) 在一个类中可以定义多个构造函数。(6) 构造函数可以处于4个访问级别中的一个:公开... 阅读全文
摘要:
java程序的运行机制(一) Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将 Java源程序翻译为JVM可执行代码--字节码。这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定 硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和 方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查 表来确定一个方法所在的地址。这样就有效的保证了.. 阅读全文
摘要:
#include #include typedef struct btnode{ int data; struct btnode *lchild,*rchild;}btnode;int b[100];//在二叉树中插入元素btnode *insertnode(btnode *root,int node){ btnode *newnode; btnode *currentnode; btnode *parentnode; newnode=(btnode*)malloc(sizeof(btnode)); newnode->lchild=NULL; n... 阅读全文
摘要:
#include #include typedef struct btnode{ int data; struct btnode *lchild,*rchild;}btnode,*btree;//建立二叉树btree createtree(){ btree T; char p; p=getchar(); if (p=='#') T=NULL; else { T=(btree)malloc(sizeof(btnode)); T->data=p; T->lchild=createtree(); ... 阅读全文
摘要:
#include <iostream>#include <cstdio>#include <string.h>using namespace std;int dp[15000],t,sum;/*void bagg01(int value,int cost){ for (int i=t;i>=cost;--i) dp[i]=(dp[i]+dp[i-cost])%10000;}void baggall(int value,int cost){ for (int i=cost;i<=t;++i) dp[i]=(dp[i]+dp[i-cost])%100 阅读全文
摘要:
#include <stdio.h>#include <string.h>int main(){ int a[1500],b[1500],c[1500],i,j,n,max; scanf("%d",&n); for (i=0;i<n;++i) scanf ("%d",&a[i]); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); for (i=0;i<n;++i)//从左边开始寻找最长上升子序列 { b[i]=1; for (j=0;j<i;++j) i 阅读全文
摘要:
#include <iostream>#include <cstdio>#include <string.h>using namespace std;int main(){ int n,i,m,j,s[1500],dp[1500],flag,maxi; while(scanf("%d",&n),n) { maxi=-1; for (i=1;i<=n;++i) { scanf("%d",&s[i]); if (s[i]>maxi) { fla... 阅读全文
摘要:
开始时觉得开二维dp[i]p[j]表示第i年j投资所得到的最大价值,后来觉得每一年都可以得到一个总投资数,那么进行多次完全背包,每次更新的是其sum总值,无奈数组开小了,WA了好多次。。。。。不过这个题目还是简单的#include <iostream>#include <cstdio>#include <string.h>using namespace std;int dp[100110];//竟然是数组太小了,WA了好多次struct node{ int cost; int value;}s[1500];int main(){ int t,i,d,sum, 阅读全文