- 博客(29)
- 收藏
- 关注
原创 重写方法声明Override
class AA{public void f(){System.out.println("AAAA");}}class B extends A{@Override//表示下面方法一定是重写方法,如果 不是重写方法,则编译器马上报错public void f(){System.out.println("BBBB");}}public cla
2017-08-07 20:31:53
692
原创 按钮设置
import java.awt.*;public class TestGUI{public static void main(String[] args){Frame f = new Frame();f.setSize(300,300);f.setLayout(new GridLayout(2,1));Panel p1 = new Panel();p1.setL
2017-08-07 20:30:51
413
原创 事件
/*事件处理相关概念1.事件(Event) 用户对组件的一个操作,称之为一个事件2.事件源(Event Source) 能够产生事件的GUI组件对象,如:按钮,文本框等。3.事件处理方法(Event Handler) 能够接收,解析和处理事件类对象,实现用户交互功能的方法4.事件监听器(Event Listener) 可以处理事件的一个类*/impo
2017-08-06 20:28:31
374
原创 布局管理器
import java.awt.*;public class TestFlowLayout{public static void main(String[] args){Frame f = new Frame("FlowLayout");Button button1 = new Button("Ok");Button button2 = new Button("Open
2017-08-06 20:24:40
338
原创 GUI
import java.awt.*;public class TestFrame{public static void main(String[] args){Frame f = new Frame("哈哈");Button bn = new Button("戴地");//要显示按钮必须把按钮放在容器里f.add(bn);//f.setSize(200,200);/
2017-08-05 20:11:09
280
原创 生产消费
/*notify和wait方法--this.notify(); 1.功能: 不是叫醒正在执行this.notify();的当前线程 而是叫醒一个现在正在wait this对象的其它线程,如果有多个线程正在wait this对象 通常是叫醒最先wait this对象的线程,但具体是叫醒哪一个 这是由系统调度器控制,程序员无法控制
2017-08-05 20:09:59
346
原创 synchronized
//错误典列class A implements Runnable{public static int tickets = 100;public void run(){while(true){ if(tickets > 0) { System.out.printf("%s线程正在
2017-08-04 12:35:12
234
原创 Thread
/*创建一个线程的第一种方法1.创建一个继承Thread的类(假定类名为A),并重写Thread中的run方法2.构造一个A类对象,假定对象名为aa3.调用aa的start方法【start方法是从Thread继承过来的】*//*注意问题1.Thread中start()方法的功能就是创建一个新的线程,并自动调用该线程的run()方法,直接调用run()方法是不
2017-08-03 20:25:23
410
原创 prinrf与println
class Dian{public int x,y;public Dian(int x,int y){this.x = x;this.y = y;}public String toString(){return "[" + x + "," + y + "]";}}public class TestPrint{public static v
2017-08-03 12:30:11
649
原创 String
/* 测试String类的valueOf方法的用法public static String valueOf(int i)返回 int 参数的字符串表示形式--------------------------------------public static int parseInt(String s) throws Numbe
2017-08-02 20:11:29
363
原创 Equals
class A{public int i;public A(int i){this.i = i;}}public class TestStringEquals{public static void main(String[] args){A aa1 = new A(2);A aa2 = new A(2);System.out.println(
2017-08-02 12:14:04
359
原创 Object
class A//所有的类默认继承Object,里面有toString(){public String toString(){retutn "哈哈";//重写父类方法}}public class TestObject{public static void main(String[] args){A aa = new A();System.out.pr
2017-08-02 12:11:45
245
原创 Exception 异常
/*异常 Throwable ---------+-------- | | Error Exception | | ...... ... RuntimeException
2017-07-30 21:09:05
392
原创 生成,使用jar包
//如何生成一个jar包/* 先编译好A.java和B.java然后把com和zhangsan两个文件夹放入同一个文件夹中,假设文件夹名字为1然后进行编译:jar cvf T.jar *1jar表示要打包成一个jar包,cvf表示里面的参数,T.jar是打包成java包的名字,*表示把当前目录下所有的东西打包成jar包编译时的路径必须是1文件夹当前的路径*/packag
2017-07-28 20:29:28
399
原创 package import
40/*package的使用1.package语句必须得是第一条语句2.package zhangsan.lisi表示:把该文件中所有的类放入zhangsan.lisi这个包中,并且该文件中所有的类真正名字将是包名和类名的组合3.如:类TestPackage的名字将变成zhangsan.lisi.TestPackage,而不再是TestPackage4.编译是建议使用javac -
2017-07-26 19:09:59
405
原创 interface
/*接口的定义 1.就是抽象方法和常量的集合。从本质上讲,接口是一种特殊的抽象类 (它比抽象类更严格) 接口 1.接口中定义的属性必须是public static final的,而接口中定义的方法则必须是public abstract的,因此这些修饰符可以部分或全部省略 2.接口中定义的属性的值在实现类中不能被更改 3.一个类只能实现某个接口,不能继承某个接口
2017-07-26 19:03:25
398
原创 Final
/*Final修饰类中的若干属性 1.final修饰类中的若干属性表示该属性必须被赋值并且只能被赋一次值(注意默认值不算真正的赋值) 2.初始化方式有两种:(只能选择其中一种) --在定义成员变量的同时初始化 --在类中所有的构造函数初始化 3.注意:一个类的所有普通方法内部都不可以修改final修饰过的成员变量的值*/class A//如果在class
2017-07-24 18:46:09
310
原创 Abstract
/*抽象类与抽象方法 抽象方法 1.在定义java方法时可以只给出方法头,而不给出方法内部实现的代码,这样的方法称为抽象方法。 2.凡是没有方法体的方法必须使用关键字abstract修饰为抽象方法 3.凡是含有抽象方法的类都必须的声明为抽象类 抽象类 1.用abstract关键字来修饰一个类时,该类叫做抽象类; 2.包含抽象方法的类必须声明为抽象类
2017-07-24 18:44:06
395
原创 多态
//多态/*一个父类的引用类型变量它既可以指向父类对象也可以指向子类对象,它可以根据当前时刻指向不同,自动调用不同对象的方法,这就是多态*/class A{public void f(){System.out.printf("AAAA\n");}}class B extends A{public void f(){System.out.pri
2017-07-24 12:27:11
290
原创 方法重写
class A{public void f(){System.out.printf("AAAA\n");}public void f(int i){System.out.printf("哈哈");}}class B extends A{public void f(){super.f();//调用父类继承过来的f方法f(10);
2017-07-23 18:45:44
347
原创 Super
class A {public int i;public int j;public A(){}public A(int i,int j){this.i = i;this.j = j;}}class B extends A{ public int k; public B() { } pub
2017-07-23 18:40:14
362
原创 Extends
//继承/*1.一个新类从已有的类那里获得其已有的属性和方法,这中现象叫类的继承 2.这个新类被称为子类,也叫派生类,已有的那个类叫做父类,也叫做基类 3.继承的好处, --代码得到极大的重用 --形成一种类的层次体系结构,为多态创造条件*/class Human{public String name = "张三";public int age =
2017-07-22 18:57:14
506
原创 static
static方法1.在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的其它非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象2.静态方法不能以任何方式引用this和super关键字,与上面的道理一样,因为静态方法在使用前不用创建任何实例对象。当静态方法被调用时,this所引用的对象根本没有产生
2017-07-22 11:53:52
258
原创 This
/* this 是一个系统隐含的指针被自动附加在非静态的成员 函数参数列表中 当前时刻,哪个对象调用该函数,那么this就指向当前调用该函数的对象,系统会自动在函数的参数列表中添加一个隐藏的this指针,并且把调用该的对象的地址赋给this指针,这样一来,在函数的内部通过this就可访问当前正在调用该函数的对象的成员 静态指针内部,没有this指针*/class
2017-07-21 12:08:28
270
原创 变量赋值问题
class A{public int i;//没有赋值不会报错,int类型默认为零public void show(){System.out.printf("%d",i);}}class TestConst{public static void main(String[] args){A aa = new A();aa.show();//in
2017-07-21 12:07:14
509
原创 函数的重载
/*函数的重载 同名函数通过不同的形参做类似的事情,这就叫做函数的重载 -函数重载的要求 1.函数的形参个数 2.函数的形参顺序 3.函数的形参数据类型 这三个至少有一个是不一样的 -如果两个函数只是函数的返回值不一样,其它都一样,这就构不成函数的重载,并且编译会报错*/class A{static int add(int a,in
2017-07-21 12:04:46
399
原创 C语言攻略
#50-60 if知识点1.易错#includeint main(void){ float score = 80; int i = (80 //判断句执行同级从左到右,并且结果为0或1 printf("%d",i); return 0;}2.小程序-判断成绩等级#include
2017-07-20 12:35:21
419
原创 SDL_播放声音_Mix
#include #include //先声明声音的头文件int main(int * argc, char * argv[]){SDL_Init(SDL_INIT_EVERYTHING);//为了省去麻烦,初始化全部Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,2048);/*播放声音,首先打开音频播放器,它这里面有四个参数,*
2017-07-19 10:59:35
1659
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人