java笔记之面向对象,构造,继承

时间:2022-07-07 19:37:09

面向对象三大特征:

1、封装性

   对外部不可见

2、继承性

   扩展类的功能

3、多态性

   方法的重载

对象的多态性


构造方法:

构造方法名称必须与类名一致

构造方法没有返回值

 

构造方法主要用来为类中的属性初始化

 

引用传递

 

This 关键字

1、表示类中的属性和调用方法;

2、调用本类的构造方法;

3、表示当前对象;

<span style="font-size:18px;">package test04;

class people{
private String name;
private int age;
private String sex;
public people(String name,int age){
this();//调用本类的构造方法;

this.name = name;//表示类中的属性和调用方法
this.age = age;
}
public people(){
sex = "man";
System.out.println("smncjdksjdkjs");
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public void tell(){
System.out.println("姓名:"+this.getName()+"年龄:"+this.getAge()+"性别:"+sex);
}
}
public class thistest {
public static void main(String[] args){
people p = new people("张三", 23);
p.tell();
}
}</span>


Static 关键字

1、使用 static声明属性

   Static声明全局属性

2、使用static声明方法

直接通过类名调用

3、注意点:使用static方法的时候,只能访问static声明的属性和方法,而非static声明的属性和方法是不能访问的。

4、静态static的函数不能调用非static的函数(方法)和变量(属性)

 

继承

1、继承基本概念:扩展父类的功能

2、Java中使用extends关键字完成继承

Class 子类 extends 父类{}

<span style="font-size:18px;">package test04;

class person{
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class student extends person{
private int score;

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}
public void tell(){
System.out.println("姓名:"+getName()+"年龄:"+getAge()+"成绩:"+getScore());
}
}
public class extendsdemo01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
student stu = new student();
stu.setAge(20);
stu.setName("zhang san");
stu.setScore(100);
stu.tell();

}

}</span>


 

继承的限制:

1、Java中只允许单继承,不可以继承多个类

也就是说,一个类只能有一个父类,但是可以多层继承

2、子类不能直接访问父类的私有成员


1、在子类对象实例化之前必须先调用父类中的构造函数,之后调用子类的构造方法。