【java】学习路线5-public和private、构造方法、this关键字、封装对象、static关键字、main方法结构解析
//一个教务管理系统
//知识点清单
/*
public & private 的区别
一个是公开的,一个是私有的,作用域不一样,访问的权限不一样咯
如果是用private修饰,则调用者只可以是在当前的作用域,一个类里边的。
private的其中一个作用
修饰一个类中的变量,为了规则输入,可额外设计一个public公开的方法改变数值,附加校验的功能
*/
/*
构造方法(构造器)
例如这条语句 : Student std = new Student();
Student();虽然你没有定义这个方法,但是系统帮你提供了,你也可以自己弄
你还可以构造多个构造方法,区别在于参数不同
*/
/*
this关键字 在类中使用
相当于把class根层作为出发点去寻找变量
作用1
比如在类中有一个a的变量,类中的方法中也有一个a的变量,在该方法中使用方法外面的变量则this.a即可。
作用2
代表当前的对象
*/
/*
对象属性私有化
将对象使用private修饰,如果需要访问,只需构造一个方法return即可.
public String getName(){
return name;
}
这样相当于“只读”。相当于《封装》。
*/
/*
static关键字
修饰成员变量,成员方法。
好处是:节约内存,一般是高频使用的不需要修改的常量,类似于const
栈 堆 方法区(含有静态区)
静态变量:存储在静态区,只要是用到了这个类,则不同对象都是调用同一个内存区域。
即使你没有创建这个类的对象,你也可以直接访问到这个类的静态变量和静态方法
静态方法:因为也是存储在静态区里的,只有一份,所以静态方法是不能访问非静态变量的
main就是静态方法
*/
/*
main的静态方法通过java命令传递参数
DOS:java Learn04 第一个参数 第二个参数 ...
则存储在args中
*/
public class Learn04 {
public static void main(String[] args){
Student std = new Student();
//Student std = new Student("张杰",19,"929252",'男');
//std.show();
for (String ss : args){
System.out.println(ss);
}
}
}
class Student{
public static String static_country;
String name;
int age;
String id;
char gender;
public Student(){
System.out.println("没有参数的构造方法被调用了!");
}
public Student(String n,int a ,String i,char g){
name = n;
age = a ;
id = i;
gender = g;
System.out.println("有参数的构造方法被调用了!");
}
public void show(){
System.out.println(name + "\n" + age + "\n" + id + "\n" + gender + "\n" );
}
}
【java】学习路线5-public和private、构造方法、this关键字、封装对象、static关键字、main方法结构解析的更多相关文章
- Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性
Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...
- 最新java学习路线:含阶段性java视频教程完整版
最新java学习路线:带阶段性java视频教程版本 第一阶段:Java基础 学习目标: 掌握基本语法.面向对象.常用类.正则.集合.Io流.多线程.Nio.网络编程.JDK新特性.函数式编程 知识点细 ...
- 【Todo】Java学习路线(方向指导)
在网上搜了下Java学习路线(关键词:学习,因为众所周知,实践出牛人,在平时工作不怎么深入的情况下,才强调学习的方向的重要性 ^_^) 发现下面知乎这个回答写的真好.mark如下: https://w ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- JAVA修饰符类型(public,protected,private,friendly)
转自:http://www.cnblogs.com/webapplee/p/3771708.html JAVA修饰符类型(public,protected,private,friendly) publ ...
- java学习路线(好资源大家分享)
对于入门java将近两年的时间,曾经迷惘过,一直想知道java的具体学习路线,看过了许许多多的java经验分享的帖子,评论,以及其他各种培训机构所谓的学习路线,发现没有一个符合我个人需求的学习路线,根 ...
- JAVA类型修饰符(public,protected,private,friendly)
JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...
- 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)
这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么.不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐视频: 下面的是黑马内部视频,我比较推荐的 ...
- 【强烈推荐】可能是最适合你的 Java 学习路线和方法
如遇链接无法打开,建议使用 https://github.com/Snailclimb/JavaGuide/blob/master/docs/questions/java-learning-path- ...
随机推荐
- Visual Studio Installer下载速度为0处理办法
DNS改为:223.5.5.5即可. 223.5.5.5 下载完成后记得改回来.
- centos8 编译安装 httpd-2.4
前提:关闭selinux和防火墙 SElinux: setenforce 0 vim /etc/selinux/config-->disable 防火墙: firewall-cmd --set- ...
- Java:如何打印整个字符串数组?
例: public static void main(String[] args) { String prodName = "雇员姓名,雇员唯一号"; String[] prodN ...
- P3480 [POI2009]KAM-Pebbles 题解
题目链接 首先,这道题看上去就是个博弈论,很显然的 \(Nim\) 游戏. 因为每一个的取法都和它的上一位有关. 有一种非常显然的转换方式 :我们把这若干堆石子从前向后做一个差分 . 我们记 \(a_ ...
- 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练
本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...
- 今天安装了eclipse,myeclipse,满满的回忆
代码半生,编码半世,ideacode失效,安装了eclipse,那熟悉的界面,俨然又回到了从前,当初我们还在用structs,eclipse,webwork,那时候还在用jbuilder,但是算是老套 ...
- 攻防世界MISC进阶区---41-45
41.Get-the-key.txt 得到无类型文件,扔进kali中,strings一下,得到了一堆像flag的内容 扔进010 Editor中,搜索关键字,发现一堆文件,改后缀为zip 打开,直接得 ...
- linux新建分区和磁盘
1.查看已有分区 ]# df –hl fdisk -l 查看磁盘情况 ]# fdisk –l 2.对未分区的进行分区 # fdisk /dev/vdb 硬盘分区 创建了一个55G的分区磁盘 1.新建第 ...
- python+tkinter 的布局
from tkinter import * win = Tk() win.title("布局") # #窗口标题 win.geometry("600x500+200+20 ...
- APISpace 月出月落和月相API接口 免费好用
月出和月落的位置,正如地球围绕太阳变化时产生的日出和日落一样,但是也和月相有关.一天中月亮升起的时间取决于它的月相.当你记得月相取决于太阳,月亮和地球的相对位置应该是明显的.月相是指从地球上看月球直 ...