java 当中的多态,面向对象,方法的重载,Final关键字

没有对象?new一个吧。不行new两个

每日一图

1Final

1修饰class 最终的类不能被继承
2修饰方法 不允许复写
3修饰filed变量 变为常量

2多态

在面向对象语言中,接口的多种不同的实现方式即为多态。
自动装箱、自动拆箱

package com.android;

public class demo20 {

    public static void main(String[] args) {
        String s1="abc";
        String s2="abc";
        String s3=new String("abc");
        String s4=new String("abc");
        System.out.println(s1==s2);
        System.out.println(s2==s3);
        System.out.println(s3==s4);

        int i=10;
        int j=new Integer(10);//自动拆箱
        Integer k=new Integer (10);
        Integer h=10;//自动装箱
        System.out.println(i==k);//此时k自动拆箱




    }

}

3面向对象

继承 、构造方法 、修饰符、方法的重写、

package com.ooa.android;

public class Person {

    private int age ;
    private String name ;


    public Person(){
        System.out.println("父类构造器");
    }

    public Person (int age,String name){
        System.out.println("父类有惨构造器");
    }

    public void eat(){
        System.out.println("父类吃饭的方法");
    }
    public void sleep(){
        System.out.println("父类睡觉方法");
    }

}
--------------------------------------------------------------
package com.ooa.android;

import org.omg.Messaging.SyncScopeHelper;

public class Student extends Person {
    int classroom;
    public Student (){
        super();//默认,不写也会生成
        System.out.println("子类构造器");
    }
    public Student (int age,String name,int classroom){
        super( age, name);
        this.classroom =classroom ;
        System.out.println("子类有惨构造器");

    }
    @Override
    public void eat(){
        System.out.println("重写吃方法");
    }
    @Override
    public void sleep() {
        System.out.println("子类睡觉方法");
    }

    public void study(){

        System.out.println("学生子类学习方法");
    }

}
-----------------------------------------------------------
package com.ooa.android;

public class Test {

    public static void main(String[] args) {
        // 生成无惨对象的时候,先调用父类的无惨构造器,后调用子类的无惨构造器
        Student s1 = new Student();
        // 生成有惨对象的时候,先调用父类的有惨构造器,后调用子类的有惨构造器
        Student s2 = new Student(18, "李明", 15073);
        s1.sleep();

        // s1.eat();
        // s1.study();
        // s2.eat();
        // s2.study();

         Person p1=new Person();
         Person p2=new Person(19,"张三");
        // p1.eat();
        // p2.eat();

         //判断s1是否为person的对象
         if(s1 instanceof Student){
             s1.eat();
            // ((Student)s1).eat();


         }

    }

}
_______________________________________________________________
package com.android;

public class Student {
private String name;
private int age ;

public Student(){

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

public void study(){
    System.out.println("学习");
}

public String sing(int num){
    System.out.println("歌名");
    return "歌名";
}

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;
}
}
---------------------------------------------------------------

4方法的重载

package com.ooa.android;

public class Dog {
    //方法的重载,同一个类中方法名称相同,参数列表不同
    //多态的体现
    public void voice(){
        System.out.println("无惨方法");
    }
    public void voice(int age){
        System.out.println("你的年龄是:"+age+"我不咬你");

    }
    public void voice(String name){
        System.out.println("看见你"+name+"就想咬你");
    }


    public static void main(String[] args) {

       Dog dog=new Dog();
       dog.voice();
       dog.voice(18);
       dog.voice("小黄");
    }

}

5String 的一些方法

package com.android;

public class demo21 {
public static void main(String[] args) {
      String s1=new String("23");
      s1.toCharArray();
      s1.toString();
      s1.hashCode();
      System.out.println(s1.toCharArray());//
      System.out.println(s1.toString());//输出字符串
      System.out.println(s1.hashCode());//哈希码
      System.out.println(s1);
      int a =Integer.parseInt(s1);//字符串转换int类型
      System.out.println(a);

}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值