Java学习体会
来源:互联网 发布:熊猫计划软件免费版 编辑:程序博客网 时间:2024/05/15 01:56
本文章总结了一些Java中基本概念的理解:
1:类是用来实现的
2:Dog dog1=new Dog( );
其中第一个Dog表示类,dog1表示变量对象,new表示实例化,Dog()表示构造函数;
3:构造函数没有返回值,且名字与类名必须一致
Dog(){
//函数体
}
4:this的作用
表示调用函数的对象
String name;void talk (name){ System.out.println(this.name);//这里输出name的值将会是调用talk()的对象name属性的值,而非括号里name的值}
调用构造函数
people(String name,int age){ this.name=name; this.age=age;}people(String name,int age,String sex){this(name,age);//调用构造函数,放在第一行 this.sex=sex;}
5:static的作用
1:静态变量:只有一个,一改都改
2:静态代码块:自运行,为成员变量赋初始值
static{
//函数体
}
3:静态函数:不能调用this
6:super
用来调用父类的构造函数,必须放在第一行
super();
而this是用来调用本类的构造函数
7:向上转型:将子类的对象赋值给父类的引用
class Student extends Person{
//函数体
}
Student s = new Student();
Person p = s ;//Person p = new Student;
引用时只能调用引用本身有的变量和函数
调用时可以调用子类的方法
8:向下转型:将父类的对象赋值给子类的引用
Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;//强制转化
Person p = s1;
Student s2 = (Student)p;//强制转化
9:抽象类
1:抽象类不能被实例化
2:含有抽象方法的类必须是抽象类
3:没有抽象方法的类也可以是抽象类
4:抽象类可以有构造函数
**继承抽象类必须重写所有的抽象方法**//用于规范子类实例该方法
抽象方法:
只有定义,没有函数体
abstract void fun();
2:含有抽象方法的类必须是抽象类
3:没有抽象方法的类也可以是抽象类
4:抽象类可以有构造函数
**继承抽象类必须重写所有的抽象方法**//用于规范子类实例该方法
抽象方法:
只有定义,没有函数体
abstract void fun();
10:权限:public>protect>default>private
当前类 同一package 不同package子孙类 其他package
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
11:接口就是标准(就像USB接口):
接口当中的方法都是抽象方法
接口当中方法的权限都是public
一个类可以实现多个接口class Phone implements A,B
一个接口可以继承多个接口interface C extends A,B
设置工厂模式
接口当中方法的权限都是public
一个类可以实现多个接口class Phone implements A,B
一个接口可以继承多个接口interface C extends A,B
设置工厂模式
12:异常:Throwable
try...catch...finallyclass FirstThread extends Thread{public void run(){ System.out.println("hello");}}class Test {public static void mian(){ FirstThread fd =new FirstThread(); ft.start; }}class FirstRunnable implements Runable{public void run(){ System.out.println("hello");}}class Test {public static void mian(){ //生成Runable接口实现类的对象 FirstRunable fr=new FirstRunable(); //生成一个Thread对象,并将Runable接口实现类的对象传值 Thread t = new Thread(fr); //通知Thread对象,执行start方法 t.start(); }}try{Thread.sleep(毫秒);}catch(Exception e){System.out.println(e);}Thread.yield();//让出线程,继续抢Thread thread=new Thread(firstRunable);thread.setPriority;thread.getPriority;线程优先级是1到10;ArrayList<String> arrayList = new ArrayList<String>();arrayList.add("a");arrayList.add("b");arrayLiast.add("c");for(int i=0;i<3;i++){String s=arrayList.get(i);System.out.println(s)}
0 0
- Java 学习体会
- Java 学习体会
- Java学习体会
- Java学习体会
- java学习体会
- JAVA学习体会
- Java学习体会
- java 学习体会
- java框架学习体会
- java输入输出流学习体会
- 学习体会
- 学习体会
- 学习体会
- 学习体会
- 学习体会
- 学习体会
- 学习体会
- 学习体会
- android自定义进度条
- IT界的一些数学计算题整理
- Android常用XML属性解析
- 华为编程大赛汇总----java
- 为什么使用Dojo toolkit的十一大原因
- Java学习体会
- 野,野,野,野指针
- Python 正则式学习笔记
- 敬告:转基因食品清单
- 图(有向图)的邻接表表示 C++实现(遍历,拓扑排序,最短路径,最小生成树) Implement of digraph and undigraph using adjacency list
- matlab调用下摄像头,用GUI界面显示摄像头的画面并实现拍照
- [总结]FFMPEG视音频编解码零基础学习方法
- Cocos2dx 小技巧(六)断言CCAssert
- VMD - VisualMolecularDynamic 的编译安装