[导言]今天开始我们的第二课,主要介绍Java的语法及结构。
java是一种面向对象的编程语言,一切都是对象。那么什么是对象呢,生活中一切都是对象,比如说一颗树,一个人,一只小动物,一切的一切。在java里面用来表示对象的方式就是定义一个类。
接下来我们来看看一个类的定义
package com.demo.main;
public class Person{
private int age;
private String name;
public Person(){
}
public void walk(){
System.out.println("我在走路!");
}
public void eat(){
System.out.println("我在吃饭!");
}
public void sleep(){
System.out.println("我要睡觉了!");
}
}
这是里定义了一个类,用它来描述现实生活中的人这个对象。
我们给这person这个类定义了一系列的属性
int age;
String name;
name代表这个人的名字,age代表年龄,然后又定义了三个行为,对应为类中的 *** ,即人会走路,会吃饭,会睡觉。
public void walk(){
System.out.println("我在走路!");
}
昨天我们知道java的程序要放到.java结尾的文件中,而且有个约定是一个.java文件一般只放一个class。这个class是要用public来声明。
下面我们就来详细讲解一个一个类的结构。
package com.javademo.main; //---这句是代表申明一个包的概念,即这个类要放到
//------- com下的demo的main这个包里面
public class Person{ //类的定义一般用public class 后面接类的名称,
//类的名称首字母要大写并且文件名和类名称要保持一致
private int age; //int是java的基本数据类型,代表一个整数
private String name;//String 是基本数据类型,代表一个字符串
public Person(int age,String name){ //这是一个构造函数,带两个参数
this.age=age;
this.name=name;
}
public void walk(){ //定义了一个不代返回值的函数,用的是public 来修饰。
System.out.println("我在走路!");
}
}
我们总结如下:
类文件的名称要和里面定义的public class的名称相同一个类的定义,一般包括了属性, *** 类至少会有一个无参的构造函数Java语句的结尾要加“;”分号类的定义要用大括号括起来。继续看上面的例子
我们定义了一个Person类,现在要来运行它
我们在Person里面增加一个 *** 定义
public static void main(String[] args){
Person zhansan = new Person(20,“张三”);
zhansan.walk();
}
我们先编译这个类文件,得到class然后在控制台运行
运行结果
public static void main(String[] arge)
这是一个main *** ,所有的java程序如果需要运行 都需要一个main *** 入口。
类与对象的关系
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。类定义了一类对象的模板,是对象的抽象。类要使用必须先实例化成对象。
public static void main(String[] args){
Person zhansan = new Person(20,“张三”);
zhansan.walk();
}
在main *** 中,
Person zhansan = new Person(20,“张三”);
这句话就是用Person这个类,实例化出来一个对象 这个对象的引用我们这里用变量名zhansan来代替。zhansan.walk()就是对象引用zhansan调用了walk() *** 。
在这里new Person(20,"张三")是指的对象,在java里用new来生成一个对象,然后用zhansan来引用这个对象。
要调用类的 *** ,即是对象引用. *** 名
zhansan.walk() *** 来调用。
今天的知识点总结:
类文件的名称要和里面定义的public class的名称相同一个类的定义,一般包括了属性, *** 类至少会有一个无参的构造函数,构造函数和类的名称相同,并且构造函数不带返回值Java语句的结尾要加“;”分号类的定义要用大括号括起来。用new来实例化一个对象用对象引用来调用对象的 *** 。课后题:
1.定义一个类用来描述一只小猫,属性设定有颜色,毛发,品种。行为有喝水,叫,睡觉
编译类文件并打印运行结果
【原创教程,转载请注明.】
尽管苹果一直在警告侧载应用程序的危险性,并坚持对上架 App Store 的应用展开严格的审查。但由于 TestFlight 和 WebClips 这两项功能的存在,越来越多的恶意软件开发者正在积极利用这两大“官方漏洞”。比如欺诈者可忽悠 iPhone / iPad 用户侧带有恶意软件的应用程序,进...
Hackernews 编译,转载请注明出处: 研究人员披露了 TerraMaster NAS设备的关键安全漏洞的细节,这些设备可以链接到未经身份验证的远程代码执行,且具有最高权限。 埃塞俄比亚网络安全研究公司 Octagon Networks 的 Paulos yibello 在分...
2021年CVE回顾: 时间飞逝,转眼间来到了2022年。新的一年即将开始,让我们来回顾一下2021年的物联网设备CVE情况。 2021年CVSSV3平均值为5.5,2020年CVSSV3平均值为6.1,同比去年下降0.6。 通过平均值的对比,我们可以清楚的看到各大厂商在2021年对物联网安全的重视...
当勒索软件黑客上个月攻击Colonial Pipeline并关闭了美国东海岸大部分地区的天然气输送时,世界意识到石化管道行业被黑客破坏的危险。现在看来,另一家以管道为重点的企业也在同一时间受到勒索软件的攻击,但它却对自己的漏洞却保持沉默,即使黑客已经在暗网上公布了70GB的内部文件。 一个自称...
爱尔兰一位部长表示,对爱尔兰卫生服务计算机系统的网络攻击,可能是爱尔兰遭遇的最严重的网络犯罪攻击,这次攻击直指爱尔兰国家卫生系统的核心。 攻击发生后,卫生服务部门已经暂时关闭了其IT系统以进行保护。担任公共采购和电子政务部长的Smyth先生说这是一次国际攻击,这些是网络犯罪团伙,在寻找金钱。他...
本月早些时候,有人在黑客论坛上放出了一个拥有 5.3 亿 Facebook 用户个人信息的数据集。随后该公司承认存在本次数据泄漏,但表示不会通知在该漏洞中受到影响的用户。 虽然 Facebook 表示已经修复了之前允许黑客从该社交平台上刮取数据的漏洞,不过一名安全研究人员发现了另一个漏洞。该漏洞允许...