方法重载
public class ChongZai {
public static void main(String[] args) {
System.out.println(add(2,3));
System.out.println(add(1,2,3));
}
public static int add(int a,int b){
return a+b;
}
public static int add(int a,int b,int c){
return a+b+c;
}
}
构造函数
public class GouZao {
int id;
String name;
public GouZao(int id,String name){ //构造器与类名一致,初始化数值
this.id=id;
this.name=name;
}
public void getName(){ //方法
System.out.println(this.name);
}
public static void main(String[] args) {
GouZao g=new GouZao(3,"AAA"); //构造新对象
g.getName();//调用方法
}
}
继承
public class JiCheng {
public static void main(String[] args) {
student s=new student(3,"AA",5);
s.play(); //子类的方法
s.study(); //父类的方法
}
}
class person { //父类
int age;
String name;
public void study(){ //父类的方法定义
System.out.println("FATHER");
}
}
class student extends person{
int number;
public student(int age, String name,int number) { //继承父类的属性
this.age=age;
this.name=name;
this.number=number;
}
public void play(){ //子类的方法定义
System.out.println("SON");
}
}
抽象与多态
//抽象类
public abstract class animal { //定义抽象类
abstract public void play(); //定义抽象方法
}
class dog extends animal {
public void play() { //方法重写
System.out.println("WANG");
}
}
class cat extends animal {
public void play() { //方法重写
System.out.println("MIAO");
}
}
//多态类
public class Test {
public static void main(String args[]){
animal d=new dog(); //多态
d.play();
animal c=new cat(); //多态
c.play();
}
}
接口
public class JieKou {
public static void main(String[] args) {
child c =new child();
c.eat();
c.play();
}
}
interface good { //接口1
double PI = 3.14;
void play();
}
interface bad { //接口2
double PO = 3.15;
void eat();
}
class child implements good, bad {
public void play() { //重写方法1
System.out.println("PLAY");
}
public void eat(){ //重写方法2
System.out.println("EAT");
}
}
异常处理:自己处理
public class YiChang {
public static void main(String[] args) {
try{
int a;
a=8;
double b;
b=a/0;
}catch(Exception e){
e.printStackTrace(); //打印错误信息
System.out.println("CCC");//打印自己的信息
}finally {
System.out.println("FFFF");//最终必须执行
}
}
}
异常处理:抛出
import java.lang.Exception;
public class YiChang {
public static void main(String[] args) {
try{
play();
}catch(Exception e){ //处理异常
e.printStackTrace(); //打印错误信息
System.out.println("CCC");//打印自己的信息
}
}
public static void play() throws Exception{ //子类抛出异常给主类
try{
int[] a=new int[5];
a[7]=1;
}finally {
System.out.println("FFFF");
}
}
}
异常处理:自定义
public class MyException extends Exception{
public MyException(String message){
super(message);
}
}
抛出和处理
public class TestException {
public static void main(String[] args) {
people p =new people();
try{
p.setAge(-7);
}catch(MyException e){
e.printStackTrace();
System.out.println("CCC");
}
}
}
class people{
private int age;
public void setAge(int age) throws MyException{
this.age=age;
if(age<0){
throw new MyException("年龄错误");
}
}
}
FileTree
import java.io.File;
public class FileTree {
public static void main(String[] args) {
File f=new File("F:/Download");
printTree(f,0);
}
static void printTree(File file,int level){
for (int i = 0; i <level ; i++) {
System.out.print("-");
}
System.out.println(file.getName());
if(file.isDirectory()){
File[] files =file.listFiles();
for(File tmp:files){
printTree(tmp,level+1);
}
}
}
}
ArrayList实现
public class MyArray {
int size=0;
Object[] list=new Object[size];
public MyArray(){ //不带参数构造
}
public void add(Object obj){ //实现add方法
size++;
Object[] newList =new Object[size];
System.arraycopy(list,0,newList,0,list.length);
list=newList;
list[size-1]=obj;
}
public void printArray(){ //实现打印列表
for (int i = 0; i <list.length ; i++) {
System.out.println(list[i]);
}
}
public void printSize(){ //实现打印个数
System.out.println(size);
}
//MAIN
public static void main(String[] args) {
MyArray ma=new MyArray();
ma.add("ASD");
ma.add("khk");
ma.add("kk");
System.out.println(ma.printSize());
}
}
LinkedList实现
public class MyLink {
private Node first;
private Node last;
private int size;
public void add(Object obj){
Node n =new Node();
if(first==null){
n.setPre(null);
n.setObj(obj);
n.setNext(null);
first=n;
last=n;
}else{
n.setPre(last);
n.setNext(null);
n.setObj(obj);
last.setNext(n);
last=n;
}
size++;
}
public int size() {
return size;
}
//MAIN
public static void main(String[] args) {
MyLink ma=new MyLink();
ma.add("ASD");
ma.add("khk");
ma.add("kk");
System.out.println(ma.size());
}
}
多线程
//线程体RUN
public class ManyProcess extends Thread {
@Override
public void run() { //线程体
for (int i = 0; i <100 ; i++) {
System.out.println("兔子跑了"+i+"步");
}
}
}
class ManyProcess2 extends Thread {
@Override
public void run() { //线程体
for (int i = 0; i <100 ; i++) {
System.out.println("乌龟跑了"+i+"步");
}
}
}
//执行main
public class Race {
public static void main(String[] args) {
ManyProcess mp=new ManyProcess();//创建对象
ManyProcess2 mp2=new ManyProcess2();
mp.start();
mp2.start();
}
}
Runnable接口实现
public class RunnableME implements Runnable {
private int num=50;
public static void main(String[] args) {
RunnableME re =new RunnableME();
Thread dl1=new Thread(re,"A");
Thread dl2=new Thread(re,"B");
Thread dl3=new Thread(re,"C");
dl1.start();
dl2.start();
dl3.start();
}
@Override
public void run() {
while (num > 0) {
System.out.println(Thread.currentThread().getName() + num--);
}
}
}
迭代器使用while
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class IteratorMe {
public static void main(String[] args) {
Set s=new HashSet();
s.add("A");
s.add("B");
Iterator it =s.iterator();
while(it.hasNext()){
String st=(String)it.next();
System.out.println(st);
}
}
}
迭代器使用for
public class IteratorMe {
public static void main(String[] args) {
Set s=new HashSet();
s.add("A");
s.add("B");
for (Iterator it =s.iterator();it.hasNext();) {
String st=(String)it.next();
System.out.println(st);
}
}
}
简单的日历
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class RiLi {
public static void main(String[] args) {
System.out.println("请输入日期(xxxx-xx-xx):");
Scanner sc=new Scanner(System.in);
String dataString=sc.nextLine();
String[] str=dataString.split("-");
int year=new Integer(str[0]);
int month=new Integer(str[1]);
int day=new Integer(str[2]);
Calendar c = new GregorianCalendar(year, month - 1, day); //转为日历格式
c.set(Calendar.DATE, 1); //设置为本月一号
int maxDate = c.getActualMaximum(Calendar.DATE);//找到本月一共多少天
if(year>=0&month>=1&month<=12&day>=1&day<=maxDate) {
int dow = c.get(Calendar.DAY_OF_WEEK); //找到一号是周几
System.out.println("日\t一\t二\t三\t四\t五\t六");//表头
for (int i = 0; i < dow - 1; i++) { System.out.print("\t"); }
for (int i = 1; i <= maxDate; i++) {
if (i != day) {
System.out.print(i + "\t");
} else {
System.out.print(i + "*" + "\t");
}
if ((i + dow - 1) % 7 == 0) { //断行
System.out.print("\n");
}
}
}else{
System.out.println("日期错误");
}
}
}