初学java 之 环境变量配置win7 and linux

首先我们了解一下我们要配置的各个变量的含义:  bin 可执行文件; lib  是sun官方库文件; src.zip 源代码

JAVA_HOME 配置安装目录

CLASSPATH  lib 目录主要为java 查找类服务

PATH  可执行文件的路径,lib 目录可执行文件在所有目录下都能欲行

下面我们讲讲具体的配置过程:

首先打开我的电脑属性  如下图:

点击环境变量:

上面的用户变量只知针对当前用户的变量!建议修改下边的系统变量!

首先新建 JAVA_HOME 在值里面写上你的jdk 的安装路径 譬如我jdk 安装在f 盘   F:\Program Files\Java\jdk1.6.0_10

PATH 里面     F:\Program Files\Java\jdk1.6.0_10\bin;

新建CLASSPATH    .;F:\Program Files\Java\jdk1.6.0_10\lib;  注意 前面的  .  表示当前目录   不同的变量之间 用分号隔开

linux 严格区分大小写

在终端输入   vi. bash-profile

进入vi  配置和 win7 的一样  注意的是 不同变量之间 用 冒号 隔开 后跟  $path

保存退出即可

可以用  java-version /javac 来验证是否配置成功!

为什么静态成员不能访问非静态成员

首先static的成员是在类加载的时候初始化的,JVM的CLASSLOADER的加载,首次主动使用加载,而非static的成员是在创建对象的时候,即new 操作的时候才初始化的;

先后顺序是先加载,才能初始化,那么加载的时候初始化static的成员,此时非static的成员还没有被加载必然不能使用,而非static的成员是在类加载之后,通过new操作符创建对象的时候初始化,此时static 已经分配内存空间,所以可以访问!

简单点说:静态成员属于类,不需要生成对象就存在了.而非静态需要生成对象才产生.

所以静态成员不能直接访问.

下面说说静态的特点:

1.随着类的加载而加载

也就是,说静态会随着类的消失而消失,说明静态的生命周期最长

2.优先于对象的存在

明确一点:静态是先存在的对象是后存在的

3.被所有对象共享

4.可以直接被类名多调用

实例变量和类变量的区别

1.存放位置

类变量随着类的加载存在于方法区中,实例变量随着对象的对象的建立存在于堆内存里

2.生命周期

类变量生命周期最长,随着“类”的加载而加载,随着类的消失而消失

实例变量随着“对象”的消失而消失

静态的使用注意事项:

1.静态方法只能访问静态成员(包括成员变量和成员方法)

非静态方法可以访问静态也可以访问非静态

2.静态方法中不可以定义this,super关键字

因为静态优先于对象存在,所以静态方法中不可以出现this,super关键字

3.主函数是静态的。

静态的利弊

利:对 对象的共享数据进行单独空间的存储,节省空间,没有必要没一个对象中都存储一份

可以直接被类名所调用

弊:生命周期过长,访问出现局限性(只能访问静态)

重写与重载常见问题

通常,派生类继承基类的方法,因此,在调用对象继承方法的时候,调用和执行的是基类的实现.但是,有时需要对派生类中的继承方法有不同的实现. 例如,假设动物类存在"跑"的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法

重写只能用于父类与子类之间!

重写的规则: 子类中的方法必须与父类中的方法一致,并且范围只能扩大不能缩小,例如父类中定义的方法是 public 型的 子类中的就不能写成protected 型否则会报编译错误!父类中的定义为protected 型的子类中的可以定义为public型的

重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。

重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法

重载的规则:  重载只发生在同类之中,并且只有参数列表不一样(包括参数列表的顺序 、 类型、个数)才可称之为重载,返回值类型不一样参数列表一样不能称之为重载!且 重载的返回值类型可以不一样

下面是重载和重写常见问题:

[java] view plaincopy

1. package test;

2.

3. public class OverLoadDemo {

4.

5.     /**

6. [email protected]

7.      */

8.     public static void main(String[] args) {

9.         OverLoadDemo o = new OverLoadDemo();

10.         o.method(1, 's');// 没有 与参数一致的方法,这个时候就会有隐式转换  转换时 有就近原则  像 char 转化为 int 更方便故输出woainitingzai

11.     }

12.     public int method(int a,long b){

13.         System.out.println("helloword");

14.         return 0;

15.         }

16.      public long method(int a,short b){// 重载只是看参数列表的顺序 、类型 、个数 是否不一样 才算是重载

17.         System.out.println("tingting");// 如果是返回值类型不同 方法名不同等等 都不能算是重载

18.         return 0;

19.     }

20.      public int method(int a,int b){

21.          System.out.println("woainitingzai");

22.          return 0;

23.          }

24. //   public short method(int a,int b){ 不是重载编译错误

25. //       System.out.println("我爱你婷!");

26. //       return 0;

27. //   }

28.     }

29.     class T extends OverLoadDemo{

30. //      public long method(int a,long b){编译错误 如果子类的参数列表和父类的参数列表一样 且返回值类型不一样则会报编译错误

31. //          System.out.println("hello");

32. //          return 0;

33. //      }

34.         public int method(int a,char c){// 无编译错误也并不是覆盖  覆盖 就是 和父类的方法一样 返回值类型  方法签名都必须一样

35.             return 0;

36.         }

37. //      private long method(int a,short b){//编译错误 如果把父类的这个方法改为private型的就无编译错误

38. //          return  0;

39. //      }

40. //       long method(int a,short b){//缩小了父类的范围编译错误

41. //          return 0;

42. //      }

43. //      protected int method(int a,long b) {//缩小了父类的范围 编译错误

44. //          return 0;

45. //

46. //      }

47.     }

展开阅读全文

win7上的linux环境变量,java之环境变量配置win7andlinux.docx相关推荐

  1. linux中搭建java开发环境

    今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装 执行下面命令安装JDK(首先创建/opt/java目录) tar -xvf jdk-7u9-linux-i586. ...

  2. 在Mac上使用idea搭建flink java开发环境

    1.环境 本文档记录的是使用flink的java API简单地创建应用的过程. 前置条件:需要安装Java.maven和flink. 1.1 Java环境变量 Java需要jdk.path.class ...

  3. Java环境:Java相关环境

    Java环境:Java相关环境 1.与Java相关的环境: Java环境相关配置:在我的另一篇文章中有写,大家可以进行参考: https://blog.csdn.net/qq_45834685/art ...

  4. linux下设置java,Linux下设置java的环境变量

    Linux上设置java的环境变量 首先安装JDK,网上有很多教程,这里就不再赘述,有一点,安装的时候要注意下载和自己的操作系统位数相一致的JDK文件. 1.uname -a 查看自己系统是x64的还 ...

  5. Linux如何搭建Java部署环境

    Java具有着跨平台的特性,一次编写,到处运行,如:将Java程序部署到Linux上也可以运行,但是也是需要借助一些工具,如:JDK,MySql,Tomcat等 为什么是搭建Java部署环境,而不是开 ...

  6. 如何优雅的在windows(含win7)上执行linux脚本

    原文地址 目录 原文地址 前言 下载安装cygwin 配置cygwin的默认shell 配置apt-cyg 工具实现命令安装新的软件和常见的命令 一些配置文件 vimrc配置文件的内容 fish sh ...

  7. 基于Linux服务器的JAVA开发环境搭建

    Linux服务器开发环境搭建 Linux安装Java 一.使用yum查询JDK 二.执行安装命令 三.验证java是否安装成功 四.安装开发环境 Linux安装Nginx 一.安装前环境检查 二.下载 ...

  8. 将java项目导出jar包,然后转成在windows上的可执行文件(没有java运行环境的电脑也可以)

    近期在做一个java串口项目,需要将完整的项目导出.exe文件在没有java环境的电脑上运行,下面是详细的操作步骤以及遇到各种问题的解决办法.. 1.将项目导出jar包,使用的工具是eclipse,该 ...

  9. 在Win7上用VMWare搭建iOS/iPad开发环境

    本文记录了在Win7上用VMWare 9安装Mac OS X Lion 10.7.5的过程,如果你想学习观摩一下iOS的开发,并且和我一样是无MAC的码农屌丝,可以参考一下. 1.物理机配置及操作系统 ...

最新文章

  1. zTree实现节点修改的实时刷新
  2. C# 世界坐标 页面坐标 PageUnit PageScale
  3. 模板方法模式(Template Pattern)
  4. JAVA数据库编程(JDBC技术)-入门笔记
  5. C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象
  6. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...
  7. [Leetcode]62. Unique Paths
  8. 路由器用到坏才换?路由器你在乎哪些功能?
  9. SOT23-6封装随机数发生芯片,串行接口
  10. jsp中实现文件下载   两种方法
  11. Android中ICS4.0Launcher中Fold的功能详解【androidICS4.0--Launcher系列三】
  12. gc android,Android GC Log解读
  13. 日留存、周留存、月留存,究竟怎样才能让更多的用户留下来?
  14. extjs中什么时候用{},什么时候用[]
  15. 使用一个插件将Zend Framework应用程序的内容转换为xml
  16. matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字...
  17. Google Code Review 如何进行代码审查
  18. 络达1562系统深度睡眠后RTC唤醒应用
  19. qt QAxObject word文档添加页码(页眉和页脚)
  20. 360c301路由器安装openwrt18.06usb打印服务器

热门文章

  1. RecycleVier的简单实现
  2. android studio防止反编译,防反编译利器-Android studio混淆代码压缩apk包体积
  3. mysql导出kml_谷歌地图如何导出kml文件 导出kml文件教程
  4. 内温的整体优先效应实验_[心理学复习.doc
  5. python保存数据db_python存储数据到mongodb
  6. 模型描述的关系模式_框架篇:见识一下linux高性能网络IO+Reactor模型
  7. 源码编译打包_Atlas 2.1.0 实践(1)—— 编译Atlas
  8. centos+gitlab+mysql_centos7安装配置gitlab(使用外部nginx)
  9. OpenShift Security 14 - 使用 RHACS 中的进程基线功能找出在容器中运行的风险操作
  10. OpenShift 4 - 容器应用备份和恢复