java基础知识

来源:互联网 发布:网络电视提示解压失败 编辑:程序博客网 时间:2024/06/05 15:15

java基础知识

1.构造方法
       语法:访问修饰符  方法名(参数){
  }
  注:1.构造方法与类名相同,没有返回值
           2.当实例化对象时,会自动调用构造方法
  3,通常构造方法用于完成一些初始化的工作。
  4.一个类的构造方法可以有多个,当有多个构造方法时,实例化当前的方式就有多种。
  5.一个类如不显示声明构造方法,有一个默认默认构造,而一旦显示声明了构造方法,默认构造方法就不存在了。

                引入import .util.Random可以产生随机数  引入 import  java.util.Date 可以产生当前的时间

                Random random1 = new Random(32767);
Random random2 = new Random(32767);
int num1 = random1.nextInt();
int num2 = random2.nextInt();
2.方法重载:
              同一个类中,方法名相同,参数不同(参数个数不同,或相同位置的类型不同)

3.this关键字:指向调用它的对象
            a.this.方法名或this.属性名
    b.this(参数)调用本类的其他构造方法
注:成员操作符  示例:对象名.属性或对象名.方法名

public Employee(int empId,String empName,String empSex,String cardId){
this.cardId = cardId;
this.empName = empName;
this.empSex = empSex;
this.empId = empId;
}
public Employee(int empId,String empName,String empSex,String cardId,double salary){
//使用this调用本类的其他构造方法
this(empId, empName, empSex, cardId);
this.salary =salary;
}
public Employee(String empName,int empId,String empSex,String cardId,double salary){
//使用this调用本类的其他构造方法
this(empId, empName, empSex, cardId,salary);
}
//普通方法重载
public void display(){
System.out.println("员工号:"+empId+"\t");
System.out.println("员工名:"+empName+"\t");
System.out.println("员工性别:"+empSex+"\t");
System.out.println("身份证号:"+cardId+"\t");
System.out.println("薪水:"+salary+"\t");
}
public void display(Date date){
    System.out.println("输出时间为:"+date);
    //使用this调用本类的普通方法
    this.display();
System.out.println("薪水:"+salary+"\t");
}

public Student(int stuId,String stuName,String cardId,double score){
//通过super(参数)来调用父类的构造函数,必须出现在子类构造的第一句
super(stuId,stuName,cardId);
this.score =score;
}
//显示方法
public void display(){
//通过super.方法名,调用父类的普通方法
super.display();
System.out.println("成绩"+score+"\n");
}
4.继承:目的:代码重用
    语法:访问修饰符 class 子类名 extends  父类{
    属性与方法
}
注:1.子类继承父类。是将父类所有的属性的方法继承过来了
   2.实例化子类时,会先执行父类的构造方法,在执行子类自己的构造方法
3.继承原则:is a 原则(子类时父类)(可参考软件设计原则里面的里氏替换原则)
5.super关键字:super 指向父类的对象
          a.super(参数)调用父类构造方法,必须出现在子类构造的第一句
  b.super.方法名或super.属性名 调用父类的方法和属性
6.数据类型的转换
      //父类引用指向子类对象(自动转型)
       Person p = new Teacher(1001,"陈天桥","354768",1000); 
 //注:调用方法,有对象决定,而不是引用决定
p.display();

//强制转换
Teacher t = (Teacher) p;
t.display();

7.访问修饰符
                          本类中             本包中            不同包的子类中   不同包的其他的类中
public (全局的)      可用                 可用                     可用                 可用 
    protected             可用                 可用                     可用                 不可用
    默认的               可用                 可用                    不可用                不可用
    private               可用                 不可用                 不可用                 不可用

0 0
原创粉丝点击