Java 基础学习知识点

目录

抽象类:

重写

重写易错点

重载

多态

访问权限

抽象类:

package chapter04;

public class JavaAbstract {
    public static void main(String[] args) {
        //TODO 面向对象 - 抽象 - Abstract
        // 抽象类  不完整的类,就是抽象类
        //        abstart class 类名
        //        因为类不完整,所以无法直接构造对象
        // 抽象方法

        // 分析问题: 对象(具体) => 类(抽象)
        // 编写代码:类(抽象) => 对象

        Person21 person21 = new Person21();//会报错,抽象类不能直接构造对象
        
        Chinese21 c = new Chinese21();//需要子类继承然后重写抽象方法为具体的方法
        c.eat();

    }
}

abstract class  Person21{
    public abstract void eat();
}

class Chinese21 extends Person21{
    public void eat() {
        System.out.println("中国人用筷子吃饭");
    }
}

重写

public class JavaCx {
    public static void main(String[] args) {
        //TODO 方法重写
        //方法的重写: 父类对象的方法其实主要体现通用性,无法在特殊场合下使用
        // 如果子类对象需要在特殊的场合下使用,那么就需要重写方法的逻辑,这个操作在Java中称之为方法的重写。
        //这里的重写并不意味父类的方法被覆盖,之事当前场合不使用,如果使用super关键字还是可以访问。
        //方法的重写要求,子类的方法和父类的方法,方法名相同,返回值类型相同,参数列表要相同。
        Child15 child = new Child15();
        child.test();
    }
}
class Parent15 {
    String name = "zhangsan";
   void test(){
       System.out.println("parent test");
    }

}
class Child15 extends Parent15 {
    String name = "lisi";

    void test() {
        super.test();
        System.out.println(this.name);
        System.out.println(super.name);
    }
}

重写易错点

public class JavaCxTest {
    public static void main(String[] args) {
      //TODO 面向对象-重写test
      //一个对象使用什么方法,取决于引用变量的类型
      //一个对象的方法具体的使用时需要看具体的对象的
        //一个对象使用什么属性,取决于引用变量的类型
        //一个对象的属性具体的使用时不需要看具体的对象的,属性在哪里使用在哪里看

      CCC ddd = new DDD();
        System.out.println(ddd.sum());
        //    ddd.eat();   //不能使用 ,要取决于引用变量的类型
    }
}

class CCC {

    int sum(){
        return 0;
    }
}

class DDD extends CCC{
    int i = 20;
    int sum(){
        return i+20;
    }
   int eat(){
       System.out.println("ddddd");
   }

}

重载

package chapter04;

public class JavaCz {
    public static void main(String[] args) {
        //TODO 面向对象
        //一个类中,不能重复声明的相同的方法,也不能声明相同的属性
        //这里相同的方法指的是方法名,参数列表相同,和返回值类型无关
        //如果方法名相同,但是参数列表(个数,顺序,类型)不同,会认为是不同的方法,只不过名称一样
        //这个操作在Java称之方法的重载
    User14 user = new User14("zhangsan");
    user.login(111);
    user.login("zhangd","sljfls");
    user.login("lfsjflos");



    }
}

class User14{

    User14(String name){
        System.out.println("user.."+name);
    }
    User14(){
        System.out.println("user...");
    }

    void login(String username, String password){
        System.out.println("账号,密码登录");
    }
    void login(int tel){
        System.out.println("手机验证码登录");
    }
    void login(String wx){
        System.out.println("微信,支付宝登录。。。");
    }

}

多态

public class JavaDuoTai {
    //TODO 面向对象 -多态
    //所谓的多态,其实就是一个对象在不同场景下表示出来的不同状态和形态
    // 多态语法其实就是对对象的使用场景进行约束
    //一个对象可以使用的功能取决于引用变量的类型
    Person p = new Person();
    Person p1 = new Boy();
    Person p3 = new Girl();

}

class Person {
    void testPerson(){
        System.out.println("test");
    }

}

class Boy extends Person {
    void testBoy(){
    System.out.println("Boytest");
}


}

class Girl extends Person {
    void testGirl(){
        System.out.println("Girltest");
    }

}

访问权限

package chapter04;

public class JavaFwqx {
    public static void main(String[] args) {
        //TODO 面向对象 - 访问权限
        //public : 公共的,访问权限修饰符
        // java 的源码中,公共类只能有一个,而且必须和源码文件名相同
        //main方法:main方法是由jvm调用时应该可以任意调用,而不用考虑权限问题。

        //TODO java中的访问权限主要分为4中:
        // 1.private : 私有的,同一个类中可以使用
        // 2.(default) : 默认权限,当不设定任何权限时,jvm会默认提供权限,包权限。
        // 3.protected : 受保护的权限,子类可以访问
        // 4.public : 公共的,任意使用

        User17 user = new User17();
      //  System.out.println(user.name);
        System.out.println(user.username);
        user.test();

    }
}

class User17 {
    private String name;
    public String username;
    void test(){
        System.out.println(name);
        System.out.println(username);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值