/*Main.java*/
package com.abb;
import com.abb.package1.Person;
import com.abb.package2.Abb;
import java.util.Scanner;
public class Main
{
public static void main(String[]args)
{ //控制台输入姓名年龄
System.out.println("请输入姓名:");
Scanner dataname = new Scanner(System.in);
String dname=dataname.next();
System.out.println("请输入姓别:");
Scanner datasex = new Scanner(System.in);
String dsex=datasex.next();
System.out.println("请输入年龄:");
Scanner dataage = new Scanner(System.in);
int dage=dataage.nextInt();
//创建对象 为什么叫创建对象?
Person beatygirl = new Person(dname,dage);beatygirl.mirror();
Abb beatygirl2 = new Abb(dname,dage,dsex);
beatygirl.mirror();//这句不需要给一个变量接受,是因为mirror()这个方法是void 无返回值
}
}
/*Person.java父类*/
package com.abb.package1;
/**
* 人物介绍
* 作者:abb
* 版本:v1.0*/
public class Person
{ //定义成员变量
public String name;//为什么用 private 作用 私有 类内部私有的
public int age;
//创建构造器方法//什么是构造器方法--类创建对象//一个类一定要有一个构造器吗--不是所有的类都需构造器,对象类一定要有
public Person(String name,int age)
{ //变量初始化
this.name=name;
this.age=age;
System.out.printf(name+"今年"+age+"岁,"+"喜欢");
}
public Person() {}//为什么父类需要无参构造器?
public void mirror()
{
System.out.println("照镜子");
}
public void work()
{
System.out.println("工作");
}
//为什么主函数一定要放在类里--Java的体系规定最外层是类,方法放在类里面,包括main方法
}
/*Abb.java子类*/
package com.abb.package2;
import com.abb.package1.Person;
public class Abb extends Person
{ //定义成员变量
public String sex;//子类可基于父类拓展对象(属性)
public Abb(String name, int age, String sex)
{ //变量初始化
this.name=name;
this.age=age;
this.sex=sex;
System.out.printf(name+"是一位"+sex+"性,今年"+age+"岁,"+"喜欢");
}
public void mirror()
{
System.out.println("照镜子");
}
public void work()
{
System.out.println("工作");
}
}
// 多行注释 CTRL+SHIFT+/ // 单行注释 CTRL+/ /* * 1、关键字不能作为变量名 * 2、import一个类的标准格式是怎么样 * 格式:import 应用路径 * 快捷键:ALT+enter * 路径: * 1)相对路径 * 2)绝对路径 * 3)引用路径 com.abb.test.RandomTest * *(包 格式规范:包名:全部⼩写字⺟,可以是域名反过来写) * baidu.com 一级域名.顶级域名 * img.baidu.com 二级域名.一级域名.顶级域名 * * abb.com * * com.abb.person * * 3、包的概念:java源码的文件夹 * 4、A和B类在同一个包下,如果A类调用B类,那A类不需要特别的import B类 * 5、 * 计算机语言的发展历史: * 1)二进制 * 2)汇编语言 * 3)C语言----->面向过程:步骤。 * 4)java语言-->面向对象:第一步:对象。第二步:对象去做事情的步骤(面向过程)。 * java 三大主要特性:继承、多态、封装 * 继承--->父类、子类 extends * A类的属性或者方法用public修饰,这样 一个处于 不同包的是A类的子类的类 去引用A类的属性或者方法,是合法的 * 6、重命名快捷键:SHIFT+F6 * 7、一个类默认会隐式生成无参构造器,而如果创造了一个有参构造器,那么就不会隐式生成无参构造器。 * 8、怎么快速找到所引用的方法/怎么知道一个方法被哪里引用过了 按住CTRL,鼠标左键单击 * */