Более полное решение, которое получает следующую букву в соответствии с тем, как MS Excel нумерует его столбцы ... A B C ... Y Z AA AB ... AZ BA ... ZZ AAA
Это работает с маленькими буквами, но вы можете легко расширить его и для заглавных букв.
getNextKey = function(key) {
if (key === 'Z' || key === 'z') {
return String.fromCharCode(key.charCodeAt() - 25) + String.fromCharCode(key.charCodeAt() - 25); // AA or aa
} else {
var lastChar = key.slice(-1);
var sub = key.slice(0, -1);
if (lastChar === 'Z' || lastChar === 'z') {
// If a string of length > 1 ends in Z/z,
// increment the string (excluding the last Z/z) recursively,
// and append A/a (depending on casing) to it
return getNextKey(sub) + String.fromCharCode(lastChar.charCodeAt() - 25);
} else {
// (take till last char) append with (increment last char)
return sub + String.fromCharCode(lastChar.charCodeAt() + 1);
}
}
return key;
};
Просто поместите два файла в один каталог. Вот пример:
Person.java
public class Person {
public String name;
public Person(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
Student.java
public class Student extends Person {
public String somethingnew;
public Student(String name) {
super(name);
somethingnew = "surprise!";
}
public String toString() {
return super.toString() + "\t" + somethingnew;
}
public static void main(String[] args) {
Person you = new Person("foo");
Student me = new Student("boo");
System.out.println("Your name is " + you);
System.out.println("My name is " + me);
}
}
Running Student (поскольку он имеет главную функцию) дает желаемый результат:
Your name is foo
My name is boo surprise!
Java не использует include, как это делает C. Вместо этого java использует концепцию, называемую classpath, список ресурсов, содержащих классы java. JVM может получить доступ к любому классу в пути к классам по имени, поэтому, если вы можете расширять классы и ссылаться на типы, просто объявляя их. Завершающим элементом оператора include java является «импорт». Поскольку классы разбиты на пространства имен, такие как foo.bar.Baz, если вы находитесь в пакете qux и хотите использовать класс Baz без необходимости использовать его полное имя foo.bar.Baz, тогда вам нужно использовать Оператор импорта в начале вашего java-файла, например:
импорт foo.bar.Baz
Чего не хватает во всех объяснениях, так это того факта, что Java имеет строгое правило имя класса = имя файла . Это означает, что если у вас есть класс «Person», он должен находиться в файле с именем «Person.java». Следовательно, если один класс пытается получить доступ к «Человеку», имя файла не обязательно, потому что оно должно быть «Person.java».
При переходе на C / C ++ у меня точно такая же проблема. Ответ - создать новый класс (в новом файле, соответствующем имени класса) и создать публичную строку. Это будет ваш "заголовочный" файл. Затем используйте это в своем основном файле, используя ключевое слово extends.
Вот ваш ответ:
Создайте файл с именем Include.java. В этот файл добавьте следующее:
открытый класс Include {
общедоступная статическая строка MyLongString = "abcdef";
}
Создайте другой файл, скажем, User.java. В этом файле поместите:
import java.io. *;
открытый класс User extends Include {
System.out.println (Включить.MyLongString);
}