java--继承封装重载

来源:互联网 发布:公安网络布控 编辑:程序博客网 时间:2024/04/29 03:51
/**
 *
 * teacher is a person
 * student is a person
 * 必须是符合 is a的关系 才能继承
 *
 * 继承的特点:
 *  1/只有方法和属性才能被继承(但是要考虑权限的问题),构造器不能被继承的
 *          a/如果实例化子类对象的时候,父类默认找空的构造器
 *          b/如果实例化子类对象的时候,必须得找一个父类的构造器执行。(因为没父类就没有子类)
 *              通过 super关键来指定,调用任何一个都可以
 *  
 *  2/在java中继承是单继承(就是extends下只能一个)
 *  3/任何一个类的父类都是 Object
 *  
 *
 * 方法的覆盖(重写):( override
 *      1.存在一个子类和父类,存在一个一模一样的方法,但是权限只能越来越大
 *
 * 简述overrideoverload的区别?(必考题)
 *  override指方法的覆盖,存在一个子类和父类,存在一个一模一样的方法,但是权限只能越来越大
 *  overload指方法的重载,在一个类中,方法名字是一样的,参数个数或是类型不一样的。
 * 
 *  百分百考
 *  简述 private,default ,protected,public之间的区别?
 * 
 * 
 *                  同一类中     同一包中        不同包子类中    所有的
 * private          *           
 * default          *           *
 * protected        *           *               *
 * public           *           *               *       *
 *
 *
 *什么样的关键字可以修饰类?
 *  public,default,
 *  final修饰一个类,代表是最终的类,不能被继承
 *  final修饰一个变量,代表是常量,不能被改变
 *  final修饰一个方法,代表是最终的方法,不能被覆盖
 *
 *
 *
 */

final double PI=3.14;//常量的命名规范,所有的字母全大写
静态的方法访问外边的变量,这个变量也必须是静态的

*****************************************
package org.jsoft.test;


/**
 *
 * 开发的时候,不建议这样去写
 * 除非A,B,C三个类,关联性特别强
 * @author Administrator
 *
 */
public class A {

}
class B{
    
}
class C{
    
}

能产生三个class文件,但是不建议使用

==========================================
public class Teacher {
    private String name;
    private int age ;
    int i;//全局变量,不是属性,尽量不用
    
    Teacher(){//无参数的
         //任何一个类都有一个这样的,默认的构造器
        System. out.println("************************" );
    }
    Teacher(String name){ //当一个类出现了一个非空参数的构造器,那么默认的空参数的构造器,将不存在,如果使用,必须显示指定
        System. out.println("一个参数的构造器执行了" );
         this.name =name;
    }
    //多个构造器放到一起,叫构造器的重载
    //重载(overload
         //名字一样,参数的个数或是类型不一样
         //功能一样的时候,可以考虑重载
    

    
    
    public void setAge(int _age){//封装
         if(_age>=18){
             age=_age;
        } else {
             age=0;
            System. out.println("您的年龄不合法" );
        }
        
    }

0 0