javaoop从 封装到继承

时间:2022-11-28 21:53:45

    1.java 有三大特性:继承,封装 ,多态

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

        1.1封装: private 加上之后就是 私有化了,

         需要提供 相应 的 set和get方法,

          给其中的 属性赋值 就是  :s1.setName("马云"); 

                                   取值就是: s1.getName(); 

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

         2.2继承:爷爷--爸爸--几个儿子

                       儿子没有 扩展 父亲的方法,那么就用 

                                       father son1=new son();

               son m=new son();  范围最大
       person n=new son(); 其次与下的 相同

               person mn=new person();

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

            3.3接口,一般是 以 I开头,

                       实现 它 结尾是 impl

                        接口之中的 方法 都是  抽象的abtract 没有 实体

                                                    interface ss{

                                                                  String sum();

                                                                   }

                                        属性是 常量 finally 

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

 4.1  先把日志的jar 包放入 工程

          然后就是  propertity 文件 ,可以自己去配置 文件的 地点 大小 优先级  名字

public class mylog {


public static void main(String[] args) {
// 就是 获取工程的 目录,
String filepath=mylog.class.getResource("/").getPath();
Logger lol=null;
try {
// 设置在 那个地方
PropertyConfigurator.configure(filepath+"/log4j.properties");
// 从那个类 里面 的错误提取出来
lol=Logger.getLogger(mylog.class);

} catch (Exception e) {
lol.debug(e.getMessage());
}
}

}

 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

4.2反射: 是先把类中的 信息全部 遍历出来

                然后 才开始 调用

                 Method[] mm=cls.getMethods();所有方法出来

                                       for(Method m:mm){m.getName();}

                 Class parameters [] = m.getParameterTypes();所有参数类型

                                for(Class c : parameters){
     System.out.print(c.getName()+"\t"); 

                                     其中 的 c 之前 有一个 判断 条件

                        if(parameters!=null && parameters.length>0)

把所有的方法 遍历出来之后 才是 调用,                              

                Method m1=s1.getMethod("addbook",java.lang.String.class,

                                                      int.class,java.lang.String.class );

 Object obj=s1.newInstance();// 取得一个实体化的 对象
 m1.invoke(obj, a,b,c); // 开始调用

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

5.1 集合的问题  ArrayList有序的 List<String> list=new ArrayList<String>();

                           list.add();录入进去   list.get(1);显示出来

                                              可以 用 for 遍历出来;

             1. 根据输入的学号,找出 学生的信息

            录入:

                  Stu s1=new Stu("x001","宇智波",2545,"木叶村");

                   Map<String,Stu> m=new HashMap<String,Stu>(); 
   m.put(s1.getSno(), s1);

             显示:

                              Set<String> keys=m.keySet();
Iterator<String> its=keys.iterator();
while(its.hasNext()){

String key=its.next();
Stu stu=m.get(key);// 必须要 先变成一个 确定的对象
System.out.println(stu.getSno()+";"

                                            +stu.getSname()+";"+stu.getAddr());
}

             查找:

                              Scanner in=new Scanner(System.in);
String sss=in.next();
if(m.containsKey(sss)){// 是否 有这个 键
Stu stu=m.get(sss);
System.out.println("这个学生的信息是:");
System.out.println("   "+stu.getSno()+";"+

                                                        stu.getSname()+";"+stu.getAddr());


》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》