几个重要的关键字

来源:互联网 发布:matlab智能算法工具箱 编辑:程序博客网 时间:2024/05/01 17:48

static关键字

static 静态的 用来定义该类中对象共有的属性静态的变量和方法可以通过"类名. "调用静态只能调用静态 不能使用super 和this

final关键字

final最后 最终用final修饰类 该类不能被继承用final修饰方法 该方法不允许被重写用final修饰变量 该变量值不允许被修改全局变量用final修饰后要立刻赋值 ,局部变量可以先声明后赋值用static和final修饰后的变量相当于常量 常量命名规则  全部大写单词用下划线隔开静态导入

这里写图片描述
导包当定义一个String类的变量是 会自动导入:lang.*

抽象方法

abstract抽象方法没有方法体抽象方法肯定有抽象类抽象方法必须在子类中实现,除非子类是抽象类匿名内部类,一般在只使用一个此类对象的时候使用.

父类package com.jingtai.Test;public abstract class Student  {    public abstract void readBook();}
子类package com.jingtai.Test;public  class Schoolboy extends Student{    @Override    public void readBook() {        // TODO Auto-generated method stub        System.out.println("语文数学自然");    }}
测试类package com.jingtai.Test;public class Test1 {    public static void main(String[] args) {        Schoolboy boy=new Schoolboy();        boy.readBook();        Student wang=new Schoolboy();        wang.readBook();        Student lisi=new Student(){            @Override            public void readBook() {                // TODO Auto-generated method stub                System.out.println("理化生");            }        };        lisi.readBook();    }}

运行结果
这里写图片描述

一个匿名内部类,相当于创建了一个类继承了Students类,然后用此类创建了一个对象
在使用匿名内部类时,要记住以下几个原则:
·匿名内部类不能有构造方法。
·匿名内部类不能定义任何静态成员、静态方法。
·匿名内部类不能是public,protected,private,static。
·只能创建匿名内部类的一个实例。
·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。
·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

内部类指的是对象包含的类
pen类是Student类中的一个内部类
这里写图片描述

接口interface

只有抽象方法的抽象类可以用接口来表示
接口中只允许有常量和抽象方法
接口中的方法是抽象的,没有方法体
接口中不能有变量

java的三大特性

封装
封装的目的:隐藏未实现的细节,只能能通过规定方法访问数据,方便修改实现 方便加入控制语句。 
继承
继承的好处:避免重复代码,减少代码复写   
多态
同一个引用类型,使用不同的实例而执行不同的操作,父类的引用指向子类的一个对象,同一个引用,经过一些操作,产生的对象不一样
package jiekou;import java.io.FileInputStream;import java.util.Properties;public class Person {    public Printer printerCteater(){        Properties properties=new Properties();        String s="";        try {            properties.load(new FileInputStream("config.prpperties"));            s=properties.getProperty("print");            System.out.println(s);        } catch (Exception e) {            // TODO: handle exception        }        Printer print=null;        if(s.equals("hpp")){            print=new HpPrinter();        }else if(s.equals("apple")){            print=new ApplePrinter();        }        //Printer printer = new HpPrinter();        return print;    }    public Paper paperCreater(){        Paper paper = new ChenGuagnPaper();        return paper;    }    public Ink inkCreater(){        Ink ink = new BeijingInk();        return ink;    }    public void Printer(){        Printer printer=printerCteater();        Paper d=paperCreater();        Ink c=inkCreater();        printer.print(c, d);    }    /*public class Student{        int age=2;    }*/}
这里介绍两种简单设计模式
  1. 单例设计模式 整个类只产生一个对象,
    第一步:先隐藏构造器,
    第二步:创建一个静态方法,通过方法来调用
    第三步:创建一个静态对象
    第四步:在静态方法中加条件语句

2.简单工厂设计模式
在上边的例子中所使用的对printer类进行检测。

0 0
原创粉丝点击