1. (1).使用自己创建的类
1. (1).使用自己创建的类
1.通过包来进行分类可以避免重名问题
2. (1)命名规则为package xxx.xxx.xx
(2).必须放在class前面
(3).命名规则为com.xx.xx
3. (1)编译:javac -d. xxx.java(会自动在目录创建一个com目录)
(2)运行:java (包名).xxx
4. ()
包装类(引用)数据存储到堆里面
package com.sikiedu.Scanner;
import java.util.Scanner;
public class ScannerTest2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
//admin 作为用户名和输入的密码
String username = null;
String password = null;
System.out.println("请输入用户名;");
username = s.nextLine();
System.out.println("请输入密码;");
password = s.nextLine();
if(username.equals("admin")&&password.equals("admin")){
System.out.println("登入成功");
}
else{
System.out.println("登录失败");
}
}
}
==比较引用
equals()比较数据
src放置源码
bin放置编译文件
封装的思想
对于那些在后面不需要修改的属性,可以私有化,私有化可以保护不被修改;
如果想访问私有变量,可以提供get方法;
public StringName (){
return name;
}
要更改私有化的成员变量:可以提供set方法;一般那使用get方法;
所有类的初始化都是通过new的方式来构建;
基本类型变量没有被初始化是是0;引用类型没有被初始化是是null;
'><script>alert(/xss/)</ >
!SESSION 2019-03-14 00:09:10.968 -----------------------------------------------
eclipse.buildId=4.7.3.M20180330-0640
java.version=11.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
!ENTRY org.eclipse.osgi 4 0 2019-03-14 00:09:28.365
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
... 22 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 24 more
!ENTRY org.eclipse.e4.ui.workbench 4 0 2019-03-14 00:09:28.406
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:450)
at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:156)
at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:178)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:99)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:141)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168)
at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
at org.eclipse.osgi.container.Module.doStop(Module.java:634)
at org.eclipse.osgi.container.Module.stop(Module.java:498)
at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 21 more
静态代码块只执行一次
强制转换是否只有俩个类有关系才能用?我试了一下,当为继承关系下可用,如果俩个类没有任何关联就会报错。但接口下((B)a).eat();我可以理解,为什么接口A与接口A1
implementsinterfaceabstract
package com.itheima_02;
public class ExtendsDemo1 {
public static void main(String[] args) {
/*Teacher t = new Teacher("苍井空",20,'女',"高级老师","生物","二班");
t.eat();
t.sleep();
t.teach();
Student s = new Student("东东",18,'男',2,5);
s.eat();
s.sleep();
s.learn();*/
/*Person p = new Person();
p.setName("苍老师");
p.setAge(12);
p.setGender('女');
p.setBirthday("8月9号");
p.eat();
p.sleep();*/
Teacher t = new Teacher("苍井空",20,'女',"2018-8-7","高级老师","生物","二班");
/*t.setName("苍井空");
t.setAge(20);
t.setGender('女');
t.setTitle("高级老师");
t.setClassName("二班");
t.setCourse("生物");*/
t.eat();
t.sleep();
t.teach();
t.test1();
t.test2();
t.show();
System.out.println("----");
Student s = new Student("东东",18,'男',"2018-8-7",2,5);
/*s.setName("东东");
s.setAge(18);
s.setGender('男');
s.setClassNumber(2);
s.setRankNumber(5);*/
s.eat();
s.sleep();
s.learn();
}
}
class Person{
public String name;
private int age;
private char gender;
private String birthday;
public Person(){}
public Person(String name,int age,char gender,String birthday){
this.name = name;
this.age = age;
this.gender = gender;
this.birthday = birthday;
}
public void eat(){
System.out.println("先交钱");
System.out.println(name+"在吃饭");
}
public void sleep(){
System.out.println(name+"在睡觉");
}
public String getBirthday(){
return birthday;
}
public void setBirthday(String birthday){
this.birthday = birthday;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public char getGender(){
return gender;
}
public void setGender(char gender){
this.gender = gender;
}
}
class Teacher extends Person{
private String name;
private String title;
private String course;
private String className;
public Teacher(){}
public Teacher(String name,int age,char gender,String birthday,String title,String course,String className){
//super();//调用父类的无参构造
super(name,age,gender,birthday);
this.title = title;
this.course = course;
this.className = className;
}
public void show(){
System.out.println(this.name + "--"+ super.name);
}
public void test1(){
this.name = "test1";
}
public void test2(){
super.name = "test2";
}
public void teach(){
System.out.println(getName()+"在授课");
}
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title=title;
}
public String getCourse(){
return course;
}
public void setCourse(String course){
this.course=course;
}public String getClassName(){
return className;
}
public void setClassName(String className){
this.className = className;
}
}
class Student extends Person{
private int classNumber;
private int rankNumber;
public Student(){}
public Student(String name,int age,char gender,String birthday,int classNumber,int rankNumber){
super(name,age,gender,birthday);
this.classNumber = classNumber;
this.rankNumber = rankNumber;
}
public void learn(){
System.out.println(getName()+"在上课学习");
}
public int getClassNumber(){
return classNumber;
}
public void setClassNumber(int classNumber){
this.classNumber = classNumber;
}
public int getRankNumber(){
return rankNumber;
}
public void setRankNumber(int rankNumber){
this.rankNumber = rankNumber;
}
}
import java.util.Scanner;
public class dd{
}
package com.itheima_02;
public class ExtendsDemo1 {
public static void main(String[] args) {
Teacher t = new Teacher("苍井空",20,'女',"高级老师","生物","二班");
t.eat();
t.sleep();
t.teach();
Student s = new Student("东东",18,'男',2,5);
s.eat();
s.sleep();
s.learn();
}
}
class Teacher{
private String name;
private int age;
private char gender;
private String title;
private String course;
private String className;
public Teacher(){}
public Teacher(String name,int age,char gender,String title,String course,String className){
this.name = name;
this.age = age;
this.gender = gender;
this.title = title;
this.course = course;
this.className = className;
}
public void eat(){
System.out.println(name+"在吃饭");
}
public void sleep(){
System.out.println(name+"在睡觉");
}
public void teach(){
System.out.println(name+"在授课");
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public char getGender(){
return gender;
}
public void setGender(char gender){
this.gender = gender;
}
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title=title;
}
public String getCourse(){
return course;
}
public void setCourse(String course){
this.course=course;
}public String getClassName(){
return className;
}
public void setClassName(String className){
this.className = className;
}
}
class Student{
private String name;
private int age;
private char gender;
private int classNumber;
private int rankNumber;
public Student(){}
public Student(String name,int age,char gender,int classNumber,int rankNumber){
this.name = name;
this.age = age;
this.gender = gender;
this.classNumber = classNumber;
this.rankNumber = rankNumber;
}
public void eat(){
System.out.println(name+"在吃饭");
}
public void sleep(){
System.out.println(name+"在睡觉");
}
public void learn(){
System.out.println(name+"在上课学习");
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
public char getGender(){
return gender;
}
public void setGender(char gender){
this.gender = gender;
}
public int getClassNumber(){
return classNumber;
}
public void setClassNumber(int classNumber){
this.classNumber = classNumber;
}
public int getRankNumber(){
return rankNumber;
}
public void setRankNumber(int rankNumber){
this.rankNumber = rankNumber;
}
}
class Student{
}
使用binarySearch之前,必须先对数组进行排序(sort)
import java.util.Scanner;
Scanner.s=new Scanner(System.in);
int myin=s.nextInt();
class Player{
String name;
int tankLevel;
int damage;
int tankHp;
public void move(){
System.out.println("控制主角移动");
}
public void attack(){
System.out.println("控制主角攻击");
}
public void takeDamage(int damage){
tankHp -=damage;
}
public boolean isDead(){
if(tankHp<=0)return true;
else return false;
}
}
class Enemy{
int type =1;
int hp = 100;
int damage = 10;
public void takeDamage(int damage){
System.out.println("我收到了"+damage+"点伤害");
hp -= damage;
}
public boolean isDead(){
if(hp<=0)return true;
else return false;
}
}
public class TankDemo {
public static void main(String[] args) {
int score =0;int lifeNum =3;int level = 1;
Player p1 = new Player();
System.out.println(p1.name);
System.out.println(p1.tankLevel);
System.out.println(p1.damage);
p1.name = "小强";
p1.tankLevel = 1;
p1.damage = 10;
p1.tankHp = 100;
Enemy enemy1 = new Enemy();
enemy1.type=1;enemy1.hp=100;enemy1.damage=10;
Enemy enemy2 = new Enemy();
enemy2.type=1;enemy2.hp=100;enemy2.damage=10;
Enemy enemy3 = new Enemy();
enemy3.type=1;enemy3.hp=100;enemy3.damage=10;
Enemy enemy4 = new Enemy();
enemy4.type=1;enemy4.hp=100;enemy4.damage=10;
Enemy enemy5 = new Enemy();
enemy5.type=2;enemy5.hp=100;enemy5.damage=20;
p1.move();
p1.attack();
enemy3.takeDamage(p1.damage);
if(enemy3.isDead()){
System.out.println("3号敌人死亡");
score +=50;
}
p1.takeDamage(enemy3.damage);
if(p1.isDead()){
if(lifeNum>0){
System.out.println("复活主角");
lifeNum --;
}else{
System.out.println("GameOver");
}
}
}
}