• java 基础 1.什么是Java?2.Java语言的特点?


    一转眼,又是一年过去了。我发现这一年的时间里,很多时候我一直都在原地踏步。新的技术没怎么学,用来用去还是旧的基础。今天刚好有时间就先写一篇基础:
    1.什么是Java?2.Java语言的特点?
    回答第一和第二问题:java是一种开发语言,
    其核心特点是:跨平台,面向对象。
    跨平台:Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。Java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。
    JVM执行程序的过程 :I.加载。class文件 ,II.管理并分配内存 ,III.执行垃圾收集
    面向对象:
    封装、继承、多态
    封装:封装就是隐藏。
    1.其实现方式:修改属性的可见性(private)和添加get/set方法。
    如:
    private String name;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    继承:继承关系是传递的。
    class Person1 {

    public String name = "xiaojunle";

    public int age = 24;
    void said() {
    System.out.println("I do not know!");
    }
    }

    class myfriend extends Person1 {

    void said() {
    System.out.println("I can!");
    }

    public static void main(String args[]) {

    myfriend myf = new myfriend();
    myf.name = "zhangsan";
    myf.age = 20;
    System.out.println("name=" + myf.name + "--" + "age=" + myf.age);
    myf.said();
    }
    }

    多态 常见的就是:upcasting and downcasting (向上转型和向下转型)
    upcasting:子类引用的对象转换为父类类型称为向上转型。
    特点:不需要强制转型 如Father father = new Son();
    动态绑定概念:子类对象当成父类对象,只能调用父类的成员,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法(这个方法就是覆盖override)。这个调用过程就称为“动态绑定”。

    downcasting:父类引用的对象转换为子类类型称为向下转型。
    特点:需要强制转型 如Son son = (Son)new Father();
    在向下转型过程中,分为两种情况:
    情况一:父类引用的对象如果引用的是指向的子类对象,那么在向下转型的过程中是安全的。也就是编译是不会出错误的。

    情况二:如果父类引用的对象是父类本身,那么在向下转型的过程中是不安全的,编译不会出错,但是运行时会出现java.lang.ClassCastException错误。它可以使用instanceof来避免出错此类错误。
    public class Girl {

    public void smile(){

    System.out.println("girl smile()...");
    }
    }

    class MMGirl extends Girl{

    @Override
    public void smile() {
    System.out.println("MMirl smile sounds sweet...");
    }
    public void c(){
    System.out.println("MMirl c()...");
    }
    }

    public static void main(String args[]) {

    public static void main(String[] args) {

    Girl g1=new MMGirl(); //向上转型

    g1.smile();

    MMGirl mmg=(MMGirl)g1; //向下转型,编译和运行皆不会出错

    mmg.smile();

    mmg.c();

    Girl g2=new Girl();

    //MMGirl mmg1=(MMGirl)g2; //不安全的向下转型,编译无错但会运行会出错

    //mmg1.smile();

    //mmg1.c();

    if(g2 instanceof MMGirl){

    MMGirl mmg1=(MMGirl)g2;

    mmg1.smile();

    mmg1.c();

    }

    }
    https://blog.csdn.net/liu136313/article/details/50828418


    3.什么是jdk?
    Java Development Kit 是针对Java开发人员的产品,是整个Java的核心。
    包括:Java运行环境Jre、Java工具( javac/java/jdb等 )和Java基础类库( Java API,rt.jar等 )。

    4.安装jdk?
    Java 环境变量配置,linux,windows
    https://blog.csdn.net/pipisorry/article/details/42918761


    5.Java的运行机制?
    javac demo.java --在classpath设置的目录下找demo.java文件,并且编译demo.java文件
    java demo.java --运行demo.java 中的main方法。
    set classpath='...' --设置classpath路径

    北上广深是个高节奏的生活,作为一个新人,很多时候我们都在感叹职位上老人的智慧。以前通过搜索引擎,80%的问题都有答案。那么现在我是觉得90%都会有答案。那么作为我们新人的的核心竞争力到底在哪里?
  • 相关阅读:
    python3(四)list tuple
    python3(三)enc
    python3(二)
    Scala学习
    spark本地开发环境搭建及打包配置
    最常见的 Git 问题和操作清单汇总
    Idea离线安装plugins插件 如Lombok
    springboot httpsession.getAtt....is null
    idea打包报错Cleaning up unclosed ZipFile for archive D:m2commons-beanutilscommons-beanutils1.9.2...
    springboot https证书配置
  • 原文地址:https://www.cnblogs.com/harry-Consonance/p/8862388.html
Copyright © 2020-2023  润新知