07-22_01面向对象

封装

防止外部随意的访问和修改

封装的优点

    1. 良好的封装能够减少耦合。
    1. 类内部的结构可以自由修改。
    1. 可以对成员变量进行更精确的控制。
    1. 隐藏信息,实现细节。
  1. 修改属性的可见性来限制对属性的访问(一般限制为private)

    public class Person {
        private String name;
        private int age;
    }
    

这段代码中,将 nameage 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。

  1. 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问
public class Person{
    private String name;
    private int age;

    public int getAge(){
      return age;
    }

    public String getName(){
      return name;
    }

    public void setAge(int age){
      this.age = age;
    }

    public void setName(String name){
      this.name = name;
    }
}

采用 this 关键字是为了解决实例变量(private String name)和局部变量(setName(String name)中的name变量)之间发生的同名的冲突。

继承

把公共的代码抽取到父类里面,减少代码的重复性,父类私有的和final修饰的都不允许被继承,

继承的特性

  • 子类拥有父类非 private 的属性、方法。
  • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
  • 子类可以用自己的方式实现父类的方法。
  • Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
  • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

extends 只能继承一个类

public class Animal { 
    private String name;   
    private int id; 
    public Animal(String myName, String myid) { 
        //初始化属性值
    } 
    public void eat() {  //吃东西方法的具体实现  } 
    public void sleep() { //睡觉方法的具体实现  } 
} 
 
public class Penguin  extends  Animal{ 
}

使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

this关键字:指向自己的引用。

实例化

Java中什么是实例化

在Java语言中使用new关键字创建/构造对象的过程叫做类的实例化,该过程的本质,会在内存空间的堆区申请一块存储区域,用于记录该对象独有的成员变量信息。

通俗点就是,实例化:使用关键字new来创建对象。

例如:
Person person = new Person();

这样的语句称为创建对象。

对象是根据类创建的。在Java中使用关键字new创建对象。

new Person(); 是 声明一个Person类型的对象,在堆区区域。

new Person(); ()是指创建Person类型的对象后,自动调用Person类中的构造方法,来进行成员变量的初始化。

Person person ,Person为类名,person 为引用变量名。


抽象类


在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

在 Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。

抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号

public abstract class Employee
{
   private String name;
   private String address;
   private int number;
   
   public abstract double computePay();
   
   //其余代码
}

声明抽象方法会造成以下两个结果:

  • 如果一个类包含抽象方法,那么该类必须是抽象类。
  • 任何子类必须重写父类的抽象方法,或者声明自身为抽象类。

继承抽象方法的子类必须重写该方法。否则,该子类也必须声明为抽象类。最终,必须有子类实现该抽象方法,否则,从最初的父类到最终的子类都不能用来实例化对象。

如果Salary类继承了Employee类,那么它必须实现computePay()方法:

/* 文件名 : Salary.java */
public class Salary extends Employee
{
   private double salary; // Annual salary
  
   public double computePay()
   {
      System.out.println("Computing salary pay for " + getName());
      return salary/52;
   }
 
   //其余代码
}

抽象类总结规定

    1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
    1. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
    1. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
    1. 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
    1. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

重载和重写

重载

class Animal{
   public void move(){
      System.out.println("动物可以移动");
   }
}
 
class Dog extends Animal{
   public void move(){
      System.out.println("狗可以跑和走");
   }
}
 
public class TestDog{
   public static void main(String args[]){
      Animal a = new Animal(); // Animal 对象
      Animal b = new Dog(); // Dog 对象
 
      a.move();// 执行 Animal 类的方法
 
      b.move();//执行 Dog 类的方法
   }
}

以上实例编译运行结果如下:

动物可以移动
狗可以跑和走

重写

class Animal{
   public void move(){
      System.out.println("动物可以移动");
   }
}
 
class Dog extends Animal{
   public void move(){
      super.move(); // 应用super类的方法
      System.out.println("狗可以跑和走");
   }
}
 
public class TestDog{
   public static void main(String args[]){
 
      Animal b = new Dog(); // Dog 对象
      b.move(); //执行 Dog类的方法
 
   }
}

以上实例编译运行结果如下:

动物可以移动
狗可以跑和走

多态

class Shape {
    void draw() {}
}
 
class Circle extends Shape {
    void draw() {
        System.out.println("Circle.draw()");
    }
}
 
class Square extends Shape {
    void draw() {
        System.out.println("Square.draw()");
    }
}
 
class Triangle extends Shape {
    void draw() {
        System.out.println("Triangle.draw()");
    }
}

Test.java 文件代码:

public class Test {
    public static void main(String[] args) {
      show(new Cat());  // 以 Cat 对象调用 show 方法
      show(new Dog());  // 以 Dog 对象调用 show 方法
                
      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work
  }  
            
    public static void show(Animal a)  {
      a.eat();  
        // 类型判断
        if (a instanceof Cat)  {  // 猫做的事情 
            Cat c = (Cat)a;  
            c.work();  
        } else if (a instanceof Dog) { // 狗做的事情 
            Dog c = (Dog)a;  
            c.work();  
        }  
    }  
}
 
abstract class Animal {  
    abstract void eat();  
}  
  
class Cat extends Animal {  
    public void eat() {  
        System.out.println("吃鱼");  
    }  
    public void work() {  
        System.out.println("抓老鼠");  
    }  
}  
  
class Dog extends Animal {  
    public void eat() {  
        System.out.println("吃骨头");  
    }  
    public void work() {  
        System.out.println("看家");  
    }  
}

执行以上程序,输出结果为:

吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠

枚举

package com.soft.demo01;
//枚举
public class Color {
    //最简单的枚举
//    public static void main(String[] args) {
//        Color2 greed = Color2.GREED;
//        System.out.println(greed);
//    }



//    //迭代枚举元素
//    public static void main(String[] args) {
//        for (Color2 myVar : Color2.values()) {
//            System.out.println(myVar);
//        }
//    }



        //在switch中使用枚举类
        public static void main(String[] args) {
            //初始化myVar
            Color2 myVar = Color2.RED;

            switch (myVar){
                case RED:
                    System.out.println("红色");
                    break;
                case GREED:
                    System.out.println("绿色");
                    break;
                case BLUE:
                    System.out.println("蓝色");
                    break;
                default:
                    System.out.println("请输入正确的颜色");
            }
        }


}

//枚举类用enum关键字来定义
enum Color2{
    RED,GREED,BLUE;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/71331017 【完整课程列表】 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse 集成环境使用 (共16页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse+MyEclipse+Tomcat安装(第1章) (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 JAVA_01Java概述与应用 (共89页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 前言 学习java前的准备工作 (共4页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_02 面向对象(OO)程序设计概念 (共51页).PPT 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础(共57页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_04 Java面向对象特性(共41页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_05 高级语言特征(共65页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_06 异常处理Exceptions(共31页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC AWT Swing(共56页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC Swing (共22页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_09 Applet (共33页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_10 线程(共51页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_11 网络程序设计(共26页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_12 JFC Swing (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC(共15页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC编程(共31页).ppt JAVA_01Java概述与应用\God.java JAVA_01Java概述与应用\Human.java JAVA_01Java概述与应用\javaapplet.html JAVA_01Java概述与应用\WelcomeJava.java JAVA_01Java概述与应用\WelcomeJavaApplet.java JAVA_10线程\第十章上机练习题.doc JAVA_11网络程序设计\第11章上机练习题.doc JAVA_11网络程序设计\邮件发送源码.rar JAVA_12 Swing\SwingTest.java JAVA_13 JDBC\Connec.java JAVA_13 JDBC\mysql-5.5.11-win32(1).msi JAVA_13 JDBC\SQLyog832Trial.exe JAVA_13 JDBC\SQLyog832Trial.zip JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_2面向对象(OO)程序设计概念\Animal.java JAVA_2面向对象(OO)程序设计概念\Fish.class JAVA_2面向对象(OO)程序设计概念\Integration.class JAVA_2面向对象(OO)程序设计概念\Point.java JAVA_2面向对象(OO)程序设计概念\第二章上机练习题.doc JAVA_3JAVA语言基础\StringTest.java JAVA_3JAVA语言基础\Test.java JAVA_3JAVA语言基础\Welcome.java JAVA_3JAVA语言基础\第三章上机练习题.doc JAVA_4Java面向对象特性\Animal(Poly
第1天 注释的应用 第2天 02_+号的应用 03变量的使用 C中的转义符 05交换量变量 07接收用户的信息 04个练习 06占位符 第3天 04逻辑运算符 05if结构 06习题 03bool类型 02Convert字符转换练习 01Convert字符装换 用户登录 第3天 Net第三天取余 第4天 01异常捕获 02练习 02异常捕获 03switch-case 04while循环 06练习 07while练习与do--while 08for 循环 12continue 09乘法口诀练习 10类型转换和方法转换 11tryparse练习 13三元表达式 第5天 00随机数 05数组 06数组的运用 06数组的运用:冒泡程序 07方法 01枚举 04结构 02枚举和int以及sting类型之间的转换 03枚举练习 第6天 01方法调用 判断是否为整数 yes或no 02方法练习求数组的和 03方法 out参数求数组的和 04 out参数练习 05 out练习 06 ref参数 07 ref 参数练习 08 params 可变参数 09方法的重载 10方法的递归 11方法练习 第7天 01面向对象 02 属性 03练习 第7天 01复习 02方法的调用问题 03判断闰年 04方法概念 05方法练习 06方法的3个练习 07out参数 08使用out参数做登陆 09自己动手写tryparse 10ref参数 11、ref练习 12params可变参数 13、方法的重载 14、方法的递归 15方法练习 第8天 01面向对象复习 02命名空间 03字符串的高级用法 04字符串练习 05继承 Driver Person Program Student Teacher 06继承的练习 第9天 00里氏转换 01里氏转换 M1 M2 M3 M4 person Program 02protected ArrayList集合 ArrayList集合练习 第10天 03_List泛型集合 04_Dictionary 05泛型集合练习 06文件流 FileStream 07StreamReader和StreamWriter 02 file类 01 path类。File.ReadAllBytes 第11天 02 抽象类 Animal Cat Dog Program 02-抽象类 Animal Program 03抽象类练习 04复习 06接口 05设计模式 06序列化 07partial部分类 08sealed密封类 01面向对象-多态 第12天 01接口 02接口的特点 03接口练习 03解决接口与方法重名问题 04收银系统 Banana BuDaZhe CangKu ....... 第13天 01第12天_接口 第14天 01MDI窗体设计 02PictureBox实现图片切换 03PictureBox和timer练习 第14天 MD5加密 03WindowsForms练习 05timer马灯练习 06timer闹钟练习不是完整的 08单选和多选练习 01MD5加密 04textBox控件显示输入的文本 02windows控件弹出窗体练习 07简单记事本应用 第15天 01浏览器控件 02下拉框日期选择器 02日期选择器控件 03双击播放音乐 04对话框练习 第16天 01播放音乐 01打开文件双击播放音乐 02线程 03线程执行带参数的方法-摇奖机 04创建服务端Socket(未实现) 04客户端的Socket(未实现) 05创建服务端的Socket 05创建客户端的Socket ConsoleApp1 第17天 02Command操作数据 03DataReader读取数据 04DataSet数据集 05DataAdapter数据适配 01第17天Connection数据库打开关闭 第18天 01DataGridView-表格数据控件 02DataGridView隐藏行列 03 DataGridView直接修改数据 04DataGridView当前行显示不同颜色 05分页 第19天 01进程 02进程 03FileStream文件流 03复制文件 03正则表达式 04正则表达式下载页面图片(未实现) 第20天 01创建XML文档 02对xml文档增删改查 03.2判断是否登录成功原版 03判断是否登录成功 04Xml增删改查 05Xml增删改查(更改的) 第21天 01为什么有委托 02泛型委托 03多播委托 04使用委托进行窗体传值 05事件 06事件 07程序集的引用 07Common 08反射的常用函数 09用反射制作计算器 第2201 SqlConnection 数据库 02ConnectionStringBvilderDemo字符串创建器 03ConfigDemo 配置文件配置连接字符串 05UserDemon 04UserDemo 06DataImporting数据导入 07DataReader读取数据 第23天 第23天UserDemon用户登录
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/71331017 【完整课程列表】 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse 集成环境使用 (共16页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse+MyEclipse+Tomcat安装(第1章) (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 JAVA_01Java概述与应用 (共89页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 前言 学习java前的准备工作 (共4页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_02 面向对象(OO)程序设计概念 (共51页).PPT 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础(共57页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_04 Java面向对象特性(共41页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_05 高级语言特征(共65页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_06 异常处理Exceptions(共31页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC AWT Swing(共56页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC Swing (共22页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_09 Applet (共33页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_10 线程(共51页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_11 网络程序设计(共26页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_12 JFC Swing (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC(共15页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC编程(共31页).ppt JAVA_01Java概述与应用\God.java JAVA_01Java概述与应用\Human.java JAVA_01Java概述与应用\javaapplet.html JAVA_01Java概述与应用\WelcomeJava.java JAVA_01Java概述与应用\WelcomeJavaApplet.java JAVA_10线程\第十章上机练习题.doc JAVA_11网络程序设计\第11章上机练习题.doc JAVA_11网络程序设计\邮件发送源码.rar JAVA_12 Swing\SwingTest.java JAVA_13 JDBC\Connec.java JAVA_13 JDBC\mysql-5.5.11-win32(1).msi JAVA_13 JDBC\SQLyog832Trial.exe JAVA_13 JDBC\SQLyog832Trial.zip JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_2面向对象(OO)程序设计概念\Animal.java JAVA_2面向对象(OO)程序设计概念\Fish.class JAVA_2面向对象(OO)程序设计概念\Integration.class JAVA_2面向对象(OO)程序设计概念\Point.java JAVA_2面向对象(OO)程序设计概念\第二章上机练习题.doc JAVA_3JAVA语言基础\StringTest.java JAVA_3JAVA语言基础\Test.java JAVA_3JAVA语言基础\Welcome.java JAVA_3JAVA语言基础\第三章上机练习题.doc JAVA_4Java面向对象特性\Animal(Poly
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/71331017 【完整课程列表】 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse 集成环境使用 (共16页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 Eclipse+MyEclipse+Tomcat安装(第1章) (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 JAVA_01Java概述与应用 (共89页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_01 Java概述与应用 前言 学习java前的准备工作 (共4页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_02 面向对象(OO)程序设计概念 (共51页).PPT 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础 位运算(共21页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_03 JAVA语言基础(共57页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_04 Java面向对象特性(共41页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_05 高级语言特征(共65页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_06 异常处理Exceptions(共31页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC AWT Swing(共56页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_08 AWT图形界面编程 JFC Swing (共22页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_09 Applet (共33页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_10 线程(共51页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_11 网络程序设计(共26页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_12 JFC Swing (共20页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC(共15页).ppt 完整版 杭州电子科技大学JAVA语言程序设计 JAVA_13 JDBC编程(共31页).ppt JAVA_01Java概述与应用\God.java JAVA_01Java概述与应用\Human.java JAVA_01Java概述与应用\javaapplet.html JAVA_01Java概述与应用\WelcomeJava.java JAVA_01Java概述与应用\WelcomeJavaApplet.java JAVA_10线程\第十章上机练习题.doc JAVA_11网络程序设计\第11章上机练习题.doc JAVA_11网络程序设计\邮件发送源码.rar JAVA_12 Swing\SwingTest.java JAVA_13 JDBC\Connec.java JAVA_13 JDBC\mysql-5.5.11-win32(1).msi JAVA_13 JDBC\SQLyog832Trial.exe JAVA_13 JDBC\SQLyog832Trial.zip JAVA_13 JDBC\实训项目——Java电子小字典.doc JAVA_2面向对象(OO)程序设计概念\Animal(Polymorphism).java JAVA_2面向对象(OO)程序设计概念\Animal(super).java JAVA_2面向对象(OO)程序设计概念\Animal.class JAVA_2面向对象(OO)程序设计概念\Animal.java JAVA_2面向对象(OO)程序设计概念\Fish.class JAVA_2面向对象(OO)程序设计概念\Integration.class JAVA_2面向对象(OO)程序设计概念\Point.java JAVA_2面向对象(OO)程序设计概念\第二章上机练习题.doc JAVA_3JAVA语言基础\StringTest.java JAVA_3JAVA语言基础\Test.java JAVA_3JAVA语言基础\Welcome.java JAVA_3JAVA语言基础\第三章上机练习题.doc JAVA_4Java面向对象特性\Animal(Poly
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值