• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dafeiyunli
博客园    首页    新随笔    联系   管理    订阅  订阅

java面向对象

值传递和应用传递

public class Demo01 {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);  //1
        change(a);
        System.out.println(a);  //1
        System.out.println("==============");
        Student student = new Student();
        System.out.println(student.name);  //null
        change(student);
        System.out.println(student.name);  //jack
    }

    public static void change(int a) {
        a = 10;
    }

    public static void change(Student stu) {
        stu.name = "jack";
    }
}

class Student {
    String name;
}

类和对象的创建

public class Student {
    String name;
    int age;

    public void say() {
        System.out.println(this.name + "说hello");
    }
}
public class Application {
    public static void main(String[] args) {
        Student jack = new Student();
        Student lucy = new Student();
        jack.name = "jack";
        lucy.name = "lucy";
        jack.say();
        lucy.say();
    }
}

构造器

public class Student {
    String name;
    int age;
    
    /*
     * 构造器
     * 1.使用new关键字
     * 2.初始化值
     * 3.快捷键  Alt+insert
     * 4.存在有参构造,想调用无参构造必须显示定义无参构造
     * 5.必须和类名相同,不能有viod关键字
     * */
    //有参构造
    public Student(String name) {
        this.name = name;
    }

    //无参构造
    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Student student = new Student();
student.name = "jack";
Student lucy = new Student("lucy");
lucy.age = 20;
Student tom = new Student("tom", 18);
System.out.println(student.name + "--" + student.age);
System.out.println(lucy.name + "--" + lucy.age);
System.out.println(tom.name + "--" + tom.age);
/*
* jack--0
lucy--20
tom--18
*/

image

封装

private String id;
public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}
Student student = new Student();
student.setId("2131231");
System.out.println(student.getId());

继承

//extends关键字
//public  //都可以访问
//protected  //子类可以访问,其他无法访问

方法重写

public class B {
    public void test() {
        System.out.println("B=>test()");
    }

}
public class A extends B{
    @Override
    public void test() {
        System.out.println("A");
    }
}
/*
* 方法重写
* 1.需要继承关系,子类重写父类方法
* 2.方法名必须相同
* 3.参数必须相同
* 4.修饰符可以扩大不能缩小
* 5.抛异常范围可以缩小但能不能扩大*/

多态

image

instanceof

//判断对象是否属于类
A a = new A();
B b = new B();
System.out.println(b instanceof A);  //false
public class C {
    
    {
        System.out.println("匿名代码块");
    }
    //最先执行
    static {
        System.out.println("静态代码块");
    }
    public C(){
        System.out.println("构造器");
    }

    public static void main(String[] args) {
        C c = new C();
    }
}

/*
 * 静态代码块
匿名代码块
构造器*/

接口

image

public interface UserService {
    void add(String name);

    void del(int id);

    void update(int id, String name);

    void query(int id);
}

public class UserServiceImpl implements UserService {
    @Override
    public void add(String name) {

    }

    @Override
    public void del(int id) {

    }

    @Override
    public void update(int id, String name) {

    }

    @Override
    public void query(int id) {

    }
}
posted @ 2021-06-04 11:52  dafeiyunli  阅读(48)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3