zoukankan      html  css  js  c++  java
  • 2020.7.18

    学习内容:

    1.this 关键字 

    在Java中,用户可以通过 this 关键字访问类中的属性、方法

    (1)访问属性

     1 package day01;
     2 public class ThisDemo{
     3     int x=5;
     4     public ThisDemo() {
     5         //通过this访问属性
     6         System.out.println(this.x);
     7         }
     8     public static void main(String[] args) {
     9     ThisDemo demo =new ThisDemo();
    10         }
    11     }

    结果为:5

    (2)this 关键字与构造器结合使用

     1 package day01;
     2 public class ThisDemo{
     3     int x=5;
     4     public ThisDemo(int x) {
     5         //this.x指的是属性x
     6         //方法传入的x,指的是形参x
     7         this.x=x;
     8         }
     9     public static void main(String[] args) {
    10         ThisDemo demo =new ThisDemo(9);
    11         System.out.println(demo.x);
    12     }
    13 }

     通过构造器可以给属性传值,以及初始化属性值

     this ()是指调用本类中的无参数构造器

     this (x) 是指调用本类中的有参构造器,可以将 ( ) 看成是方法。如果 this ()什么都不写,就是调用本类中的无参构造方法,如果里面有参数,则是调用本类中的有参构造器,一个参数是调用本类中带一个参数的构造器,多个参数则是调用多个参数的构造器。

    2.变量的作用域和生存期 

    变量可以分为两种:一种是全局变量,另一种是局部变量。全局变量的作用域是从变量定义开始,一直到类结束,范围包括整个类。局部变量是定义在方法内部的,因此,它的作用域是从定义开始,到方法尾结束

    3.包 

    (1)包的命名

    要想使定义的包名不会和其他人定义的包名重复,最好采用公司域名的倒写形式命名包,在实际开发中,经常是采用这种命名方法

    在Java中建议包名全部小写,不管包是不是由多个单词构成

    package  com.apple

    (2)用包导入类型

    如果两个类分别定义在不同的包中,那如何互相调用类中的方法和属性呢?这时候要导入包中的类,导入包中的类有两种方式

    1. 导入包中所有的类:import 包名 . * ;
    2. 导入包中具体的类:import 包名 . 类名 ;
     1 package com.wuzy.entity;
     2 public class Person {
     3     private String name; //姓名
     4     private int age;     //年龄
     5     public String getName() {
     6         return name;
     7     }
     8     public void setName(String name) {
     9         this.name=name;
    10     }
    11     public int getAge() {
    12         return age;
    13     }
    14     public void setAge(int age) {
    15         this.age=age;
    16     }
    17 }
    18 
    19 
    20 package com.wuzy.service;
    21 import com.wuzy.entity.Person;
    22 public class Service {
    23     public static void main(String[] args) {
    24     Person p=new Person();
    25     p.setName("张无忌");
    26     p.setAge(20);
    27     String name = p.getName();
    28     int age = p.getAge();
    29     System.out.println("name="+name+",age="+age);
    30     }
    31 }

    (3)编译包

     编译包有两种方式:

    1、用命令行的方式编译

    Javac  -d . 类名 . java

    -d : 创建目录          . : 当前目录

    还可以事先创建好文件夹,然后进入文件夹下编译

     2、用 Eclipse 编译和运行

     在Eclipse 中,只要保存就是编译 

    遇到的问题:

    this 指针的使用方法不明确

    https://blog.csdn.net/twlkyao/article/details/34082259

    https://blog.csdn.net/qq_37664986/article/details/78938978

    明天要学习的内容:

    4.6  枚举

  • 相关阅读:
    查看文件(或文件夹)被哪个进程使用【文件已在另一程序中打开】
    MinGW32和64位交叉编译环境的安装和使用
    MinGW下编译openssl, json-c
    曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑
    Python2.6下基于rsa的加密解密
    MySQL--使用xtrabackup进行备份还原
    Python--过滤Mysql慢日志
    MySQL--将MySQL数据导入到SQL Server
    Python--命令行参数解析Demo
    python--同一mysql数据库下批量迁移数据
  • 原文地址:https://www.cnblogs.com/ltw222/p/13386211.html
Copyright © 2011-2022 走看看